Gossip Protocol: Architektúra, práca a jej aplikácie

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





Prenos dát cez veľkú sieť (blockchain) je náročná úloha. Prenos podobných údajov do nespočetných uzlov cez veľkú sieť využíva veľké množstvo výpočtového výkonu; trvá to dlho, kým sa to podarí a často obmedzuje hodnotu údajov, keď sa dostanú do posledného cieľa. Protokoly klebiet prekonávajú tento problém tým, že umožňujú dodávať údaje z jedného uzla do druhého uzla podobne, ako keď dvaja ľudia ohovárajú informácie o každej šálke čaju. Tento článok pojednáva o prehľade a komunikačný protokol Páči sa mi to klebetný protokol - práca s aplikáciami.


Čo je Gossip Protocol?

Komunikačný protokol ako Gossip protokol jednoducho umožňuje zdieľanie stavu v rámci distribuovaných systémov. Moderné systémy využívajú tento peer-to-peer protokol na distribúciu informácií všetkým členom v rámci klastra alebo siete. Tento druh protokolu sa využíva v rámci decentralizovaného systému, ktorý nezahŕňa žiadny centrálny uzol na sledovanie všetkých uzlov a na zistenie, či je uzol vypnutý alebo nie.



Gossip Protocol funguje na podobnom princípe, akým sa prenášajú dáta na sociálnych sieťach. V súčasnosti väčšina moderných systémov často využíva tieto protokoly na riešenie problémov, ktoré môžu byť ťažko riešiteľné inými spôsobmi, či už kvôli problémom v rámci štruktúry, ktorá je veľmi veľká, alebo preto, že riešenia klebiet sú najefektívnejšie dostupné.

Architektúra Gossip Protocol Architecture

The Implementácia protokolu Gossip možno vykonať v rámci databázy Apache Cassandra. Tu budeme diskutovať o tomto protokole, ako Cassandra dosiahne koordináciu medzi uzlami a ako tieto uzly zostanú synchronizované. V databáze Cassandra sú všetky uzly podobné a majú architektúru peer-to-peer a neexistuje koncept uzla typu master-to-slave.



  Architektúra Gossip Protocol Architecture
Architektúra Gossip Protocol Architecture

Gossip je systém správ, ktorý uzol Cassandra a virtuálne uzly využívali na to, aby boli ich údaje navzájom spoľahlivé. Používa sa teda na implementáciu faktora replikácie v rámci klastra. Predstavme si teda klaster Cassandra ako kruhový systém, kde každý uzol obsahuje určité rozdelenie každej tabuľky v databáze a môžu komunikovať iba s priľahlými uzlami.

Pozrime sa, ako Cassandra dosahuje koordináciu medzi uzlami. Vezmime si teda príklad zahŕňajúci 6 uzlov v rámci klastra od 1 do 6. Vo vyššie uvedenom klastri si môžeme všimnúť, že uzol 3 nefunguje. Takže, keď uzol spadne, potom prestane posielať pravidelné správy a všetci ostatní to okamžite zistia.

V protokole klebiet, uzly siete pravidelne si vymieňať štátne informácie o sebe a o ďalších uzloch, o ktorých vedia. Tento protokol beží každú sekundu na výmenu správ o stave až s 3 ďalšími uzlami v rámci klastra.

Protokoly Gossip sú v Cassandre mimoriadne užitočné, pretože uzly si vymieňajú údaje o sebe a o zostávajúcich uzloch, o ktorých sa hovorilo. Výsledkom je, že všetky uzly v klastri sa rýchlo dozvedia o zostávajúcich uzloch.

Ako funguje Gossip Protocol?

Vo všeobecnosti protokol umožňuje každému uzlu nepretržite sledovať stavové informácie na ostatných uzloch v rámci klastra, napríklad ktoré uzly sú prístupné a za aké rozsahy kľúčov sú zodpovedné atď. Uzly v klastri vysielajú informácie o stave na počkanie v synchronizácii. Gossip protokol je mechanizmus komunikácie typu peer-to-peer, kde si uzly pravidelne vymieňajú informácie o stave o sebe a iných uzloch, o ktorých vedia.

Každý uzol začína každú sekundu kolo klebiet, aby si vymenili informácie o svojom stave a ostatných uzloch s jedným ďalším náhodným uzlom. Aby sa akýkoľvek nový výskyt rozšíril v celom systéme a všetky uzly sa rýchlo dozvedeli o všetkých ostatných uzloch v klastri.

Typy Gossip Protocol

Gossip protokoly sú dostupné v troch typoch šírenia, anti-entropie a protokolov, ktoré počítajú agregáty, ktoré sú diskutované nižšie.

Protokoly šírenia

Protokoly šírenia sa tiež nazývajú protokoly na šírenie fám, pretože využívajú klebety na šírenie informácií v sieti. Ide o najhrubší typ klebiet, ktoré sa používajú pre blockchainy. Ak sú tieto protokoly vhodné na získavanie údajov do mnohých uzlov v krátkom časovom rámci, údaje sa môžu počas cesty poškodiť a tiež ľahko upravovať.

Anti-entropické protokoly

Tieto druhy protokolov klebiet sa používajú hlavne na opravu duplicitných údajov ich vyhodnocovaním, ako aj zmenou porovnaní. Hlavným cieľom týchto protokolov je znížiť zmeny údajov, keď sa pohybujú medzi uzlami, ich vyhodnotením a zmenou údajov, aby ste sa uistili, že sú správne.

Protokoly, ktoré počítajú agregáty

Tieto protokoly sú známe aj ako agregačné protokoly, ktoré pracujú alebo vypočítavajú agregáciu siete prostredníctvom vzorkovania údajov v uzloch a spájajú hodnoty, aby získali hodnotu pre celý systém. Tieto typy protokolov súvisia s antientropickými protokolmi, hoci sú postavené na myšlienke prenosu každého uzla samostatného prvku prenášaných údajov, potom sa údaje zdieľajú medzi uzlami, aby sa vytvoril úplný obraz.

Gossip Protocol Algorithm

Gossip algoritmy sú asynchrónne protokoly výmeny údajov, ktoré sú postavené na klebete, inak je štýl fámy nespoľahlivý. Vďaka svojej obrovskej jednoduchosti a širokej použiteľnosti sa tento algoritmus ukázal ako kanonické architektonické riešenie, najmä pre siete nadchádzajúcej generácie.

V algoritme gossip protokolu si každý uzol v sieti pravidelne vymieňa informácie s podmnožinou uzlov. Zvyčajne je táto podmnožina množinou susedov každého uzla. Každý uzol má iba zobrazenie lokálnej siete. Každý uzol dostane nejaké požadované univerzálne údaje v určitom čísle. periodických aktualizácií uzlov.

Výhody a nevýhody

The výhody klebetného protokolu zahŕňajú nasledujúce.

  • Tieto protokoly sú mimoriadne škálovateľné.
  • Všetky uzly v tomto protokole fungujú rovnako a nemajú navzájom odlišné alebo špeciálne funkcie. Akonáhle dôjde k zlyhaniu v rámci jedného alebo viacerých uzlov, nepreruší ani neovplyvní ostatné uzly v rámci siete na distribúciu údajov. Podobne môžu uzly prechádzať alebo odísť zo siete medzi pármi bez obmedzení a bez ovplyvnenia jej funkcie.
  • Tieto protokoly distribuujú údaje úplne autonómnym a decentralizovaným spôsobom.
  • Tieto typy protokolov majú schopnosť správne fungovať, pretože uzly majú kapacitu na zdieľanie a distribúciu údajov s mnohými uzlami v rámci partnerskej siete,

The nevýhody klebetného protokolu zahŕňajú nasledujúce.

  • Tieto protokoly ponúkajú silu systému tým, že umožňujú uzlom v sieti pracovať nepretržite bez narušenia výskytu porúch.
  • Vysoká redundancia môže viesť k požiadavke na maximálnu šírku pásma, takže môže spôsobiť rušenie siete.

Aplikácie

The aplikácie protokolu klebiet Zahŕňam nasledujúce.

  • Gossip protokol sa používa hlavne na opravu problémov, ktoré sa vyskytli pri multicastingu.
  • Je to druh komunikácie, kde sa časť klebiet alebo informácií v tomto stave prenáša z jedného uzla alebo viacerých uzlov do množiny ďalších uzlov v rámci siete.
  • Tieto protokoly používajú rôzne distribučné siete na rýchlu a spoľahlivú distribúciu údajov.
  • Tieto bitcoiny používa na šírenie nestálych hodnôt cez svoje ťažobné uzly.
  • Používajú sa hlavne na vytvorenie komunikačného kanála, prostredníctvom ktorého môžu všetky uzly siete získavať informácie a objavovať páry, ktoré pomáhajú distribúcii metadát.
  • Databáza Ripples používa protokoly Gossip na prenos informácií o stave a vlastnostiach svojich prsteňov.
  • Dynamo používa protokol Gossip na sledovanie členstiev. Umožňuje vám objaviť nových účastníkov programu, ako aj pozorovať akúkoľvek poruchu.
  • Tieto protokoly sa používajú v servisnej sieti Consul na detekciu a identifikáciu nových členov sieťových porúch, inak potenciálnych porúch.
  • Sieť Consul používa tieto protokoly na bezpečné a rýchle odovzdávanie informácií o nových službách a udalostiach v sieti.

Ide teda o všetko prehľad klebetného protokolu - práca s aplikáciami. Gossip protokoly sú účinné, takže detekcia zlyhania protokolu gossip je možná jednoducho v distribuovaných a veľkých systémoch asynchrónnym spôsobom. Tu je otázka pre vás, čo sú príklady protokolu Gossip?