2016-10-26 2 views
0

Comme je le comprends dans le système distribué, nous sommes censés gérer l'échec de partition réseau qui est résolu en utilisant plusieurs copies des mêmes données. Est-ce le seul endroit où nous utilisons un algorithme de consensus? Quelle est la différence entre 2PC/3PC/Paxos (est la version paxos modifiée de 3PC? Si oui alors 2PC/3PC, PC également genre d'algorithme de consensus?)Quand utilisez-vous exactement l'algorithme de consensus dans un système distribué?

+1

vous pouvez trouver cette introduction douce au sujet utile http://book.mixu.net/distsys/abstractions.html – simbo1905

Répondre

1

La partition de réseau n'est pas "résolue" en ayant beaucoup de copies de les mêmes données. Bien que la redondance soit bien sûr essentielle pour faire face à toutes sortes de défaillances :)

Il y a beaucoup d'autres problèmes concernant la partition réseau. Généralement, pour augmenter la tolérance des partitions réseau, vous utilisez un algorithme qui repose sur un quorum plutôt que sur une communication totale. Dans l'approche quroum, vous pouvez toujours progresser d'un côté de la partition tant que f + 1 nœuds sur 2f sont accessibles. Paxos utilise par exemple l'approche du quorum. Il est tout à fait clair qu'un protocole comme 2PC ne peut pas progresser dans le cas de n'importe quel type de partition réseau puisqu'il nécessite des "votes" de tous les nœuds.

Quelle est la différence entre les 2PC/3PC/Paxos (est version modifiée de Paxos de 3pc? Si oui, 2PC/3pc, PC également type d'algorithme de consensus?)

2PC/3PC/Paxos sont toutes des variantes de protocoles de consensus, bien que 2PC et 3PC soient souvent décrits comme manipulant le scénario plus spécifique de "commit atomique dans un système distribué" qui est essentiellement un problème consensuel. 2PC, 3PC, Paxos sont semblables mais différents. Vous pouvez facilement trouver des informations détaillées sur chaque algorithme sur le web. Est-ce le seul endroit où nous utilisons un algorithme de consensus? Les protocoles de consensus ont de nombreux cas d'utilisation dans les systèmes distribués, par exemple: validation atomique, diffusion atomique, élection de leader ou tout algorithme nécessitant un ensemble de processus pour s'accorder sur une valeur ou une action. Mise en garde: les protocoles de consensus et les problèmes connexes des systèmes distribués ne sont pas triviaux et vous devrez faire quelques lectures pour avoir une compréhension approfondie. Si vous êtes à l'aise de lire des articles académiques, vous pouvez trouver la plupart des célèbres disponibles en ligne, par exemple "Paxos made simple" par Leslie Lamport ou vous pouvez trouver de bons blogposts en googlant. Aussi l'article wiki pour paxos est de très bonne qualité à mon avis!

J'espère que cela pourrait répondre à certaines de vos questions, même si je vous en ai probablement parlé encore plus! (Si vous êtes intéressé, vous avez des recherches à faire).