Gossip Protocol : architecture, fonctionnement et ses applications

Essayez Notre Instrument Pour Éliminer Les Problèmes





La transmission de données sur un grand réseau (blockchain) est une tâche difficile. La transmission de données similaires à une myriade de nœuds sur le grand réseau utilise une grande quantité de puissance de traitement ; cela prend beaucoup de temps pour le faire et limite fréquemment la valeur des données lorsqu'il atteint la dernière destination. Ainsi, les protocoles de potins surmontent ce problème en permettant aux données de fournir d'un nœud à un autre nœud, comme deux personnes bavardant sur une information sur chaque tasse de thé. Cet article donne un aperçu d'un protocole de communication Comme protocole de potins – travailler avec des applications.


Qu'est-ce que le protocole Gossip ?

Un protocole de communication comme le protocole Gossip permet simplement le partage d'état au sein de systèmes distribués. Les systèmes modernes utilisent ce protocole peer-to-peer pour distribuer des informations à tous les membres d'un cluster ou d'un réseau. Ce type de protocole est utilisé dans un système décentralisé qui ne comprend aucun nœud central pour suivre tous les nœuds et savoir si un nœud est en panne ou non.



Gossip Protocol fonctionne sur un principe similaire de transmission des données sur les réseaux sociaux. À l'heure actuelle, la plupart des systèmes modernes utilisent fréquemment ces protocoles pour résoudre des problèmes qui pourraient être difficiles à résoudre par d'autres moyens, soit en raison d'un problème au sein de la structure, qui est très important, soit parce que les solutions de ragots sont les plus efficaces disponibles.

Architecture du protocole de bavardage

La Implémentation du protocole Gossip peut être effectué dans la base de données Apache Cassandra. Ici, nous allons discuter de ce protocole, comment Cassandra atteint la coordination entre les nœuds et comment ces nœuds resteront synchronisés. Dans la base de données Cassandra, tous les nœuds sont similaires et ont une architecture peer-to-peer et il n'y a pas de concept de nœud maître-esclave.



  Architecture du protocole de bavardage
Architecture du protocole de bavardage

Gossip est le système de messagerie utilisé par le nœud Cassandra et les nœuds virtuels pour rendre leurs données fiables les unes avec les autres. Il est donc utilisé pour implémenter le facteur de réplication au sein d'un cluster. Imaginons donc le cluster Cassandra comme un système en anneau où chaque nœud comprend une certaine division de chaque table dans la base de données et ils ne peuvent communiquer qu'avec des nœuds contigus.

Voyons comment Cassandra atteint la coordination entre les nœuds. Prenons donc un exemple comprenant 6 nœuds au sein d'un cluster de 1 à 6. Dans le cluster ci-dessus, nous pouvons remarquer que le nœud 3 est en panne. Ainsi, une fois qu'un nœud tombe en panne, il arrête d'envoyer des messages périodiques et tout le monde le découvre instantanément.

Dans le protocole de potins, nœuds de réseau échanger périodiquement des informations d'état sur eux-mêmes et sur les nœuds supplémentaires qu'ils connaissent. Ce protocole s'exécute à chaque seconde pour échanger des messages d'état avec jusqu'à 3 autres nœuds au sein du cluster.

Les protocoles de potins sont extrêmement utiles dans Cassandra, car les nœuds échangent des données sur eux-mêmes et sur les nœuds restants dont ils ont fait l'objet de rumeurs. En conséquence, tous les nœuds du cluster apprennent rapidement les nœuds restants.

Comment fonctionne le protocole Gossip ?

Généralement, le protocole permet à chaque nœud de suivre en continu les informations d'état sur les autres nœuds du cluster, comme les nœuds accessibles et les plages de clés dont ils sont responsables, etc. Les nœuds du cluster transmettent les informations d'état pour attendre en synchronisation. Le protocole Gossip est un mécanisme de communication peer-to-peer où les nœuds échangent périodiquement des informations d'état sur eux-mêmes et sur d'autres nœuds qu'ils connaissent.

Chaque nœud commence une ronde de potins à chaque seconde pour échanger les informations d'état sur lui-même et les autres nœuds avec un autre nœud accidentel. Ainsi, toute nouvelle occurrence se propage éventuellement dans tout le système et tous les nœuds apprennent rapidement tous les autres nœuds d'un cluster.

Types de protocole de potins

Les protocoles de potins sont disponibles en trois types de diffusion, d'anti-entropie et de protocoles qui calculent les agrégats qui sont discutés ci-dessous.

Protocoles de diffusion

Les protocoles de diffusion sont également appelés protocoles de diffusion de rumeurs car ils utilisent des commérages pour diffuser des informations sur le réseau. Ce sont les types de protocoles de potins les plus grossiers utilisés pour les chaînes de blocs. Lorsque ces protocoles sont appropriés pour obtenir des données vers de nombreux nœuds dans un court laps de temps, les données peuvent être corrompues et modifiées facilement en cours de route.

Protocoles anti-entropie

Ces types de protocoles de potins sont principalement utilisés pour corriger les données dupliquées en les évaluant ainsi qu'en modifiant les comparaisons. L'objectif principal de ces protocoles est de réduire les modifications apportées aux données lorsqu'elles se déplacent entre les nœuds en les évaluant et en modifiant les données pour s'assurer qu'elles sont correctes.

Protocoles qui calculent les agrégats

Ces protocoles sont également connus sous le nom de protocoles d'agrégation qui fonctionnent ou calculent un agrégat du réseau en échantillonnant des données aux nœuds et ils unissent les valeurs pour obtenir une valeur à l'échelle du système. Ces types de protocoles sont liés aux protocoles anti-entropie, bien qu'ils soient construits autour de l'idée de transmettre à chaque nœud un élément distinct des données transmises, après quoi les données sont partagées entre les nœuds pour créer une image complète.

Algorithme de protocole de potins

Les algorithmes de potins sont des protocoles d'échange de données asynchrones qui s'appuient sur les potins, sinon le style de rumeur n'est pas fiable. En raison de leur grande simplicité et de leur large applicabilité, cet algorithme est apparu comme une solution architecturale canonique, en particulier pour les réseaux de la prochaine génération.

Dans un algorithme de protocole de potins, chaque nœud du réseau échange périodiquement des informations avec un sous-ensemble de nœuds. Habituellement, ce sous-ensemble est l'ensemble des voisins de chaque nœud. Chaque nœud n'a qu'une vue de réseau local. Chaque nœud obtient des données universelles souhaitées à travers un certain nombre. de mises à jour périodiques des nœuds.

Avantages et inconvénients

La avantages du protocole de potins inclure les éléments suivants.

  • Ces protocoles sont extrêmement évolutifs.
  • Tous les nœuds de ce protocole fonctionnent de la même manière et ils n'ont pas de fonction différente ou spéciale les uns des autres. Une fois qu'une panne se produit dans un ou plusieurs nœuds, elle n'interrompra ni n'affectera les autres nœuds du réseau pour la distribution des données. De même, les nœuds peuvent traverser ou s'éloigner du réseau entre les paires sans limites et sans affecter sa fonction.
  • Ces protocoles distribuent les données de manière totalement autonome & décentralisée.
  • Ces types de protocoles ont la capacité de fonctionner correctement car les nœuds ont la capacité de partager et de distribuer des données avec de nombreux nœuds au sein du réseau de pairs,

La inconvénients du protocole de potins inclure les éléments suivants.

  • Ces protocoles renforcent le système en permettant aux nœuds du réseau de fonctionner en continu sans interruption en cas de défaillance.
  • Une redondance élevée peut entraîner une exigence maximale de bande passante, ce qui peut provoquer un brouillage du réseau.

Applications

La applications du protocole de potins J'inclus ce qui suit.

  • Le protocole gossip est principalement utilisé pour résoudre les problèmes survenus par la multidiffusion.
  • C'est une sorte de communication où une partie des commérages ou des informations dans cet état est transmise d'un nœud ou de plusieurs nœuds à un ensemble d'autres nœuds au sein d'un réseau.
  • Ces protocoles sont utilisés par divers réseaux de distribution pour distribuer les données rapidement et de manière fiable.
  • Ceux-ci sont utilisés par bitcoin pour répartir des valeurs inconstantes sur ses nœuds de minage.
  • Ceux-ci sont principalement utilisés pour créer un canal de communication par lequel tous les nœuds du réseau peuvent obtenir des informations et découvrir des appariements qui facilitent la distribution des métadonnées.
  • Les protocoles Gossip sont utilisés par la base de données Ripples pour transmettre des informations sur l'état et les caractéristiques de ses anneaux.
  • Dynamo utilise le protocole Gossip pour suivre les adhésions. Il permet de découvrir de nouveaux participants au programme ainsi que d'observer tout dysfonctionnement.
  • Ces protocoles sont utilisés dans le réseau de service Consul à la fois pour la détection et l'identification de nouveaux membres sur des pannes de réseau sinon des pannes potentielles.
  • Le réseau Consul utilise ces protocoles pour relayer en toute sécurité et rapidement les informations sur les nouveaux services et événements du réseau.

Ainsi, il s'agit de un aperçu d'un protocole de potins – travailler avec des applications. Les protocoles Gossip sont efficaces pour que la détection des défaillances du protocole Gossip soit possible simplement dans les grands systèmes distribués de manière asynchrone. Voici une question pour vous, quels sont les exemples de protocole Gossip ?