Gossip Protocol : Arkitektura, Paggawa at Mga Aplikasyon Nito

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Ang paghahatid ng data sa isang malaking network (blockchain) ay isang mapaghamong gawain. Ang pagpapadala ng katulad na data sa napakaraming node sa malaking network ay gumagamit ng malaking halaga ng kapangyarihan sa pagproseso; ito ay tumatagal ng mahabang panahon upang gawin ito at madalas na nililimitahan ang halaga ng data kapag naabot nito ang huling destinasyon. Kaya, ang mga protocol ng tsismis ay nagtagumpay sa isyung ito sa pamamagitan ng pagpayag sa data na mag-supply mula sa isang node patungo sa isa pang node na katulad ng dalawang tao na nagtsitsismis sa isang impormasyon sa bawat tasa ng tsaa. Tinatalakay ng artikulong ito ang isang pangkalahatang-ideya ng a protocol ng komunikasyon gusto protocol ng tsismis – nagtatrabaho sa mga aplikasyon.


Ano ang Gossip Protocol?

Ang isang protocol ng komunikasyon tulad ng protocol ng Gossip ay nagbibigay-daan lamang sa pagbabahagi ng estado sa loob ng mga distributed system. Ginagamit ng mga modernong sistema ang peer-to-peer na protocol na ito upang ipamahagi ang impormasyon sa lahat ng miyembro sa loob ng isang cluster o network. Ang ganitong uri ng protocol ay ginagamit sa loob ng isang desentralisadong sistema na hindi kasama ang anumang sentral na node upang masubaybayan ang lahat ng mga node at malaman kung ang isang node ay down o hindi.



Gumagana ang Gossip Protocol sa isang katulad na prinsipyo kung paano ipinapadala ang data sa mga social network. Sa kasalukuyan, kadalasang ginagamit ng karamihan sa mga modernong sistema ang mga protocol na ito upang lutasin ang mga problemang maaaring mahirap lutasin sa ibang mga paraan, alinman dahil sa isang problema sa loob ng istraktura, na napakalaki o dahil ang mga solusyon sa tsismis ay ang pinaka mahusay na magagamit.

Arkitektura ng Gossip Protocol

Ang Pagpapatupad ng protocol ng tsismis maaaring gawin sa loob ng database ng Apache Cassandra. Dito, tatalakayin natin ang protocol na ito, kung paano nakakamit ni Cassandra ang koordinasyon sa pagitan ng mga node at kung paano mananatiling naka-synchronize ang mga node na ito. Sa database ng Cassandra, ang lahat ng mga node ay magkatulad at may peer-to-peer na arkitektura at walang master-to-slave na konsepto ng node.



  Arkitektura ng Gossip Protocol
Arkitektura ng Gossip Protocol

Ang tsismis ay ang sistema ng mensahe na ginamit ng Cassandra node at mga virtual na node upang gawing maaasahan ang kanilang data sa isa't isa. Kaya ito ay ginagamit upang ipatupad ang kadahilanan ng pagtitiklop sa loob ng isang kumpol. Kaya't isipin natin ang kumpol ng Cassandra na parang isang ring system kung saan ang bawat node ay may kasamang tiyak na dibisyon ng bawat talahanayan sa loob ng database at maaari lamang silang makipag-usap sa magkadikit na mga node.

Tingnan natin kung paano nakakamit ni Cassandra ang koordinasyon sa pagitan ng mga node. Kaya kumuha tayo ng isang halimbawa kasama ang 6 na node sa loob ng isang cluster mula 1 hanggang 6. Sa cluster sa itaas, mapapansin natin na ang node3 ay down. Kaya, kapag bumaba ang isang node, hihinto ito sa pagpapadala ng mga pana-panahong mensahe, at agad na malalaman ng iba.

Sa protocol ng tsismis, mga node ng network makipagpalitan ng impormasyon ng estado sa pana-panahon tungkol sa kanilang sarili at tungkol sa mga karagdagang node na alam nila. Ang protocol na ito ay tumatakbo para sa bawat segundo upang makipagpalitan ng mga mensahe ng estado na may hanggang sa 3 iba pang mga node sa loob ng cluster.

Ang mga protocol ng tsismis ay lubhang kapaki-pakinabang sa loob ng Cassandra, dahil ang mga node ay nagpapalitan ng data tungkol sa kanilang mga sarili at ang natitirang mga node na kanilang nabalitaan. Bilang resulta, ang lahat ng node sa loob ng cluster ay mabilis na natututo tungkol sa natitirang mga node.

Paano Gumagana ang Gossip Protocol?

Sa pangkalahatan, pinapayagan ng protocol ang bawat node na subaybayan ang impormasyon ng estado nang tuluy-tuloy sa iba pang mga node sa loob ng cluster tulad ng kung aling mga node ang naa-access at kung anong mga key range ang pananagutan nila, atbp. Ang mga node sa loob ng cluster ay nagpapadala ng impormasyon ng estado upang maghintay sa pag-synchronize. Ang Gossip protocol ay isang mekanismo ng komunikasyon ng peer-to-peer kung saan ang mga node ay nagpapalitan ng impormasyon ng estado nang pana-panahon tungkol sa kanilang sarili at iba pang mga node na alam nila.

Ang bawat node ay nagsisimula ng isang gossip round para sa bawat segundo upang ipagpalit ang impormasyon ng estado tungkol sa sarili nito at iba pang mga node sa isa pang aksidenteng node. Upang ang anumang bagong pangyayari ay lumaganap sa buong system at lahat ng mga node ay mabilis na nalaman ang tungkol sa lahat ng iba pang mga node sa loob ng isang cluster.

Mga Uri ng Gossip Protocol

Available ang mga protocol ng tsismis sa tatlong uri ng pagpapakalat, anti-entropy, at mga protocol na kinakalkula ang mga pinagsama-samang tinatalakay sa ibaba.

Mga Protokol ng Pagpapalaganap

Ang mga protocol ng pagpapakalat ay tinatawag ding mga protocol na nagpapalaganap ng tsismis dahil ginagamit nila ang tsismis para sa pagkalat ng impormasyon sa pamamagitan ng network. Ito ang pinaka-magaspang na uri ng mga protocol ng tsismis na ginagamit para sa mga blockchain. Kapag ang mga protocol na ito ay angkop para sa pagkuha ng data sa maraming mga node sa loob ng maikling panahon, ang data ay maaaring masira at madaling mabago sa daan.

Mga Protokol na Anti-Entropy

Ang mga ganitong uri ng mga protocol ng tsismis ay pangunahing ginagamit para sa pag-aayos ng mga duplicate na data sa pamamagitan ng pagsusuri sa mga ito pati na rin ang pagbabago ng mga paghahambing. Ang pangunahing layunin ng mga protocol na ito ay bawasan ang mga pagbabago sa data kapag naglalakbay ito sa pagitan ng mga node sa pamamagitan ng pagsusuri dito at pagbabago ng data upang matiyak na ito ay tama.

Mga Protocol na Kinakalkula ang Mga Pinagsama-sama

Ang mga protocol na ito ay kilala rin bilang mga aggregation protocol na gumagana o nagkalkula ng pinagsama-samang network sa pamamagitan ng pag-sample ng data sa mga node at pinagsasama-sama nila ang mga value para makakuha ng value sa buong system. Ang mga uri ng mga protocol na ito ay nauugnay sa mga anti-entropy na protocol, bagama't ang mga ito ay binuo sa paligid ng pag-iisip ng pagpapadala sa bawat node ng isang hiwalay na elemento ng data na ipinapadala, pagkatapos na ang data ay ibinahagi sa pagitan ng mga node upang makagawa ng isang kumpletong larawan.

Algorithm ng Gossip Protocol

Ang mga algorithm ng tsismis ay mga asynchronous na data exchange protocol na binuo sa tsismis kung hindi man ay hindi mapagkakatiwalaan ang istilo ng tsismis. Dahil sa kanilang napakasimple at malawak na kakayahang magamit, lumitaw ang algorithm na ito bilang isang canonical architectural solution, lalo na para sa mga paparating na network ng henerasyon.

Sa isang algorithm ng gossip protocol, ang bawat node sa loob ng network ay nagpapalitan ng impormasyon sa pana-panahon na may isang subset ng mga node. Karaniwan, ang subset na ito ay ang hanay ng mga kapitbahay ng bawat node. Ang bawat node ay mayroon lamang local network view. Ang bawat node ay nakakakuha ng ilang gustong unibersal na data sa kabuuan ng isang tiyak na no. ng mga pana-panahong pag-update ng mga node.

Mga Kalamangan at Kahinaan

Ang mga pakinabang ng protocol ng tsismis isama ang mga sumusunod.

  • Ang mga protocol na ito ay lubhang nasusukat.
  • Ang lahat ng mga node sa protocol na ito ay gumagana nang pareho at wala silang naiiba o espesyal na function mula sa isa't isa. Kapag naganap ang pagkabigo sa loob ng isa o maramihang node, hindi ito makakaabala o makakaapekto sa iba pang mga node sa loob ng network para sa pamamahagi ng data. Katulad nito, ang mga node ay maaaring dumaan o umalis sa network sa pagitan ng mga pares nang walang limitasyon at hindi naaapektuhan ang paggana nito.
  • Ang mga protocol na ito ay namamahagi ng data sa isang ganap na autonomous at desentralisadong paraan.
  • Ang mga uri ng protocol na ito ay may kapasidad na gumana nang tama dahil ang mga node ay may kapasidad na magbahagi at magpamahagi ng data sa maraming node sa loob ng peer network,

Ang disadvantages ng gossip protocol isama ang mga sumusunod.

  • Ang mga protocol na ito ay nag-aalok ng lakas sa system sa pamamagitan ng pagpapahintulot sa mga node sa network na gumana nang tuluy-tuloy nang hindi nasira sa paglitaw ng mga pagkabigo.
  • Ang mataas na redundancy ay maaaring humantong sa pinakamataas na kinakailangan ng bandwidth kaya maaari itong magdulot ng network jamming.

Mga aplikasyon

Ang mga aplikasyon ng gossip protoco Isama ko ang mga sumusunod.

  • Ang gossip protocol ay pangunahing ginagamit upang ayusin ang mga problema na naganap sa pamamagitan ng multicasting.
  • Ito ay isang uri ng komunikasyon kung saan ang isang bahagi ng tsismis o impormasyon sa estadong ito ay ipinadala mula sa isang node o maramihang node patungo sa isang hanay ng iba pang mga node sa loob ng isang network.
  • Ang mga protocol na ito ay ginagamit ng iba't ibang network ng pamamahagi para sa mabilis at mapagkakatiwalaang pamamahagi ng data.
  • Ang mga ito ay ginagamit ng bitcoin upang maikalat ang mga inconstant na halaga sa mga mining node nito.
  • Pangunahing ginagamit ang mga ito upang gumawa ng channel ng komunikasyon kung saan maaaring makakuha ng impormasyon ang lahat ng node ng network at tumuklas ng mga pagpapares na makakatulong sa pamamahagi ng metadata.
  • Ang mga protocol ng tsismis ay ginagamit ng database ng Ripples upang magpadala ng impormasyon tungkol sa kundisyon at feature ng mga singsing nito.
  • Ginagamit ng Dynamo ang protocol ng Gossip para subaybayan ang mga membership. Binibigyang-daan ka nitong tumuklas ng mga bagong kalahok sa programa pati na rin ang pagmasdan ang anumang malfunction.
  • Ginagamit ang mga protocol na ito sa Consul ng network ng serbisyo para sa parehong pagtukoy at pagkilala sa mga bagong miyembro ng mga pagkasira ng network kung hindi man ay mga potensyal na pagkabigo.
  • Ginagamit ng network ng Consul ang mga protocol na ito upang ligtas at mabilis na maghatid ng impormasyon sa mga bagong serbisyo at kaganapan sa network.

Kaya, ito ay tungkol sa lahat isang pangkalahatang-ideya ng isang protocol ng tsismis – nagtatrabaho sa mga aplikasyon. Ang mga protocol ng tsismis ay epektibo upang ang pagtuklas ng pagkabigo ng protocol ng tsismis ay posible lamang sa distributed at malalaking system sa isang asynchronous na paraan. Narito ang isang tanong para sa iyo, ano ang mga Halimbawa ng Gossip Protocol?