2.5 Limites de la réplication de composant virtuel d’immuabilité
La persistance de l’information par l’intermédiaire d’un composant virtuel d’immuabilité requiert des mécanismes synchronisant la persistance de l’information. Différentes solutions permettent de faire cela de façon ACID.
Certains fournisseurs implémentent des mécanismes internes. Ces fournisseurs sont donc des composants virtuels d’immuabilité implémentant des mécanismes de synchronisation de l’état des duplicatas. Dans ce cas, les composants logiques n’ont pas besoin de se préoccuper de cette synchronisation. Le mécanisme en deux phases d’Oracle [18] et le coordonnateur de transactions de Microsoft [13] en sont des exemples.
Lorsque les duplicatas de dépendances d’immuabilité ne peuvent pas implémenter la synchronisation entre duplicatas, cette synchronisation doit être adressée à l’intérieur même des composants logiques.
2.5.1 Mécanismes pour la tolérance des pannes
Les composants virtuels d’immuabilité doivent être synchronisés afin de persister l’information d’une manière ACID et ce, pour tous les duplicatas d’un même composant.
Le composant logique gérant ces duplicatas doit alors intégrer un mécanisme permettant d’éviter l’utilisation d’un composant virtuel d’immuabilité, si jamais le composant n’a pas pu persister un état. Aussi, le composant logique doit pouvoir s’assurer que les composants virtuels ont conservé un état identique.

Figure 2.3 — Mécanismes de synchronisation de composants virtuels d’immuabilité
Tous ces mécanismes font partie intégrante du composant logique. Plusieurs systèmes de gestion de base de données implémentent ces mécanismes [13]. Par contre, tel que mentionné à la section 2.1, leur implémentation est hors de la portée de cet essai.
2.5.2 Limitation des composants virtuels d’immuabilité
Dans une solution logicielle, plusieurs composants peuvent dépendre d’un même composant d’immuabilité, ce qui fait de ce composant virtuel une dépendance commune à au moins deux composants logiques de la solution.
La figure 2.4 en illustre un exemple, où des duplicatas d’un composant logique sont en fonction d’un même composant virtuel d’immuabilité, et implémentent un mécanisme de synchronisation par l’intermédiaire d’un lien de communication.

Figure 2.4 — Mécanismes de synchronisation entre composants logiques
Les mécanismes mis en place à l’intérieur d’un composant logique doivent être alors synchronisés entre les duplicatas de ce composant, en plus de gérer la synchronisation interne au composant lui-même. La portée de l’analyse fait abstraction de l’implémentation interne des composants, tenant pour acquis que ces mécanismes sont pris en charge à même la solution logicielle.
Table des matières · 14/26
Conception pour la haute disponibilité
- Conception pour la haute disponibilité
- Introduction
- 1 Abstraction du matériel
- 1.1 Isolation des niveaux d’abstraction
- 1.2 Catégorie de composants physiques
- 1.3 Couche de virtualisation
- 1.4 Abstraction des composants virtuels
- 1.5 Caractéristiques des composants virtuels
- 2 Les mécanismes sous-jacents à la haute disponibilité
- 2.1 Cadre d'analyse des mécanismes et hypothèses
- 2.2 Interface publique d’une solution
- 2.3 Contrôle du risque
- 2.4 Une approche : la duplication
- 2.5 Limites de la réplication de composant virtuel d’immuabilité
- 3 Évaluation des risques d’indisponibilité
- 3.1 Hiérarchie de dépendances
- 3.2 Goulots d’étranglement
- 3.3 Méthode de calcul de disponibilité
- 3.4 Méthodologie d’analyse
- 4 Évaluation dans des cas réels
- 4.1 Solution logicielle de base
- 4.2 Analyse sans hypothèses
- 4.3 Évaluation avec ajout d’hypothèses de disponibilité
- 4.4 Hypothèse dans un scénario infonuagique
- Conclusion
- Liste des références