Gossip Protocol : สถาปัตยกรรม การทำงาน และการประยุกต์ใช้งาน

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





การส่งข้อมูลผ่านเครือข่ายขนาดใหญ่ (บล็อคเชน) เป็นงานที่ท้าทาย การส่งข้อมูลที่คล้ายคลึงกันไปยังโหนดมากมายทั่วทั้งเครือข่ายขนาดใหญ่ใช้พลังงานในการประมวลผลจำนวนมาก ใช้เวลานานในการสร้าง & มักจำกัดค่าข้อมูลเมื่อไปถึงปลายทางสุดท้าย ดังนั้น โปรโตคอลการนินทาจึงแก้ปัญหานี้โดยอนุญาตให้ข้อมูลจากโหนดหนึ่งไปยังโหนดอื่นที่คล้ายกับคนสองคนซุบซิบข้อมูลเกี่ยวกับชาทุกถ้วย บทความนี้กล่าวถึงภาพรวมของ a โปรโตคอลการสื่อสาร ชอบ โปรโตคอลการนินทา - การทำงานกับแอพพลิเคชั่น


Gossip Protocol คืออะไร?

โปรโตคอลการสื่อสาร เช่น โปรโตคอล Gossip อนุญาตให้แชร์สถานะภายในระบบแบบกระจาย ระบบสมัยใหม่ใช้โปรโตคอลแบบเพียร์ทูเพียร์นี้เพื่อแจกจ่ายข้อมูลไปยังสมาชิกทั้งหมดภายในคลัสเตอร์หรือเครือข่าย โปรโตคอลประเภทนี้ใช้ภายในระบบกระจายอำนาจซึ่งไม่มีโหนดกลางใดๆ เพื่อติดตามโหนดทั้งหมดและทราบว่าโหนดหยุดทำงานหรือไม่



Gossip Protocol ทำงานบนหลักการที่คล้ายคลึงกันในการส่งข้อมูลบนเครือข่ายสังคมออนไลน์ ในปัจจุบัน ระบบที่ทันสมัยส่วนใหญ่มักใช้โปรโตคอลเหล่านี้ในการแก้ไขปัญหาที่อาจแก้ไขได้ยากด้วยวิธีอื่น ไม่ว่าจะเป็นเพราะปัญหาภายในโครงสร้าง ซึ่งมีขนาดใหญ่มาก หรือเนื่องจากวิธีการแก้ปัญหาการนินทาเป็นวิธีที่มีประสิทธิภาพมากที่สุด

สถาปัตยกรรมโปรโตคอลการนินทา

ดิ การใช้โปรโตคอลการนินทา สามารถทำได้ภายในฐานข้อมูล Apache Cassandra ในที่นี้ เราจะพูดถึงโปรโตคอลนี้ วิธีที่ Cassandra บรรลุการประสานงานระหว่างโหนด & วิธีที่โหนดเหล่านี้จะอยู่ในการซิงโครไนซ์ ในฐานข้อมูล Cassandra โหนดทั้งหมดมีความคล้ายคลึงกันและมีสถาปัตยกรรมแบบเพียร์ทูเพียร์ & ไม่มีแนวคิดโหนดมาสเตอร์ถึงทาส



  สถาปัตยกรรมโปรโตคอลการนินทา
สถาปัตยกรรมโปรโตคอลการนินทา

การนินทาเป็นระบบข้อความที่โหนด Cassandra & โหนดเสมือนใช้เพื่อทำให้ข้อมูลมีความน่าเชื่อถือซึ่งกันและกัน ดังนั้นจึงใช้เพื่อนำปัจจัยการจำลองแบบไปใช้ภายในคลัสเตอร์ ลองนึกภาพคลัสเตอร์ Cassandra เหมือนกับระบบวงแหวนที่ทุกโหนดมีแผนกหนึ่งของทุกตารางภายในฐานข้อมูล และสามารถสื่อสารได้เฉพาะกับโหนดที่อยู่ติดกันเท่านั้น

มาดูกันว่า Cassandra บรรลุการประสานงานระหว่างโหนดได้อย่างไร ลองมาดูตัวอย่างที่มี 6 โหนดภายในคลัสเตอร์ตั้งแต่ 1 ถึง 6 ในคลัสเตอร์ด้านบน เราจะสังเกตได้ว่า node3 ไม่ทำงาน ดังนั้น เมื่อโหนดหยุดทำงาน โหนดจะหยุดส่งข้อความเป็นระยะๆ และทุกคนจะทราบทันที

ในระเบียบการนินทา โหนดเครือข่าย แลกเปลี่ยนข้อมูลสถานะเป็นระยะเกี่ยวกับตัวเองและเกี่ยวกับโหนดเพิ่มเติมที่พวกเขารู้ โปรโตคอลนี้ทำงานในแต่ละวินาทีเพื่อแลกเปลี่ยนข้อความสถานะกับโหนดอื่นๆ สูงสุด 3 โหนดภายในคลัสเตอร์

โปรโตคอลการนินทามีประโยชน์อย่างยิ่งใน Cassandra เนื่องจากโหนดแลกเปลี่ยนข้อมูลเกี่ยวกับตัวเองและโหนดที่เหลือที่พวกเขาเล่าลือกัน เป็นผลให้โหนดทั้งหมดภายในคลัสเตอร์เรียนรู้อย่างรวดเร็วเกี่ยวกับโหนดที่เหลือ

Gossip Protocol ทำงานอย่างไร?

โดยทั่วไป โปรโตคอลอนุญาตให้ทุกโหนดติดตามข้อมูลสถานะอย่างต่อเนื่องบนโหนดอื่นๆ ภายในคลัสเตอร์ เช่น โหนดที่เข้าถึงได้และช่วงคีย์ที่รับผิดชอบ เป็นต้น โหนดภายในคลัสเตอร์จะส่งข้อมูลสถานะเพื่อรอในการซิงโครไนซ์ โปรโตคอลการนินทาเป็นกลไกการสื่อสารแบบเพียร์ทูเพียร์ที่โหนดแลกเปลี่ยนข้อมูลสถานะเป็นระยะๆ เกี่ยวกับตัวเองและโหนดอื่นๆ ที่พวกเขารู้จัก

โหนดทุกโหนดเริ่มต้นรอบการนินทาทุกวินาทีเพื่อแลกเปลี่ยนข้อมูลสถานะเกี่ยวกับตัวเองและโหนดอื่นๆ กับโหนดอื่นโดยไม่ได้ตั้งใจ เพื่อให้การเกิดขึ้นใหม่แพร่กระจายไปทั่วทั้งระบบในที่สุด & โหนดทั้งหมดเรียนรู้อย่างรวดเร็วเกี่ยวกับโหนดอื่นๆ ทั้งหมดภายในคลัสเตอร์

ประเภทของระเบียบการนินทา

โปรโตคอลการนินทามีอยู่สามประเภทคือการเผยแพร่ การต่อต้านเอนโทรปี และโปรโตคอลที่คำนวณมวลรวม ซึ่งจะกล่าวถึงด้านล่าง

โปรโตคอลการแพร่กระจาย

โปรโตคอลการแพร่กระจายเรียกอีกอย่างว่าโปรโตคอลที่สร้างข่าวลือเนื่องจากใช้การนินทาเพื่อเผยแพร่ข้อมูลผ่านเครือข่าย เหล่านี้เป็นโปรโตคอลซุบซิบประเภทที่หยาบที่สุดที่ใช้สำหรับบล็อกเชน เมื่อโปรโตคอลเหล่านี้เหมาะสมสำหรับการรับข้อมูลไปยังโหนดจำนวนมากภายในระยะเวลาอันสั้น ข้อมูลอาจเสียหายและปรับเปลี่ยนได้ง่ายระหว่างทาง

โปรโตคอลต่อต้านเอนโทรปี

โปรโตคอลการนินทาประเภทนี้ส่วนใหญ่จะใช้สำหรับการแก้ไขข้อมูลที่ซ้ำกันโดยการประเมินข้อมูลเหล่านั้นรวมถึงการเปลี่ยนแปลงการเปรียบเทียบ เป้าหมายหลักของโปรโตคอลเหล่านี้คือการลดการเปลี่ยนแปลงของข้อมูลเมื่อเดินทางระหว่างโหนดโดยการประเมินและเปลี่ยนข้อมูลเพื่อให้แน่ใจว่าถูกต้อง

โปรโตคอลที่คำนวณผลรวม

โปรโตคอลเหล่านี้เรียกอีกอย่างว่าโปรโตคอลการรวมซึ่งทำงานหรือคำนวณการรวมเครือข่ายผ่านการสุ่มตัวอย่างข้อมูลที่โหนด & จะรวมค่าเข้าด้วยกันเพื่อรับค่าทั้งระบบ โปรโตคอลประเภทนี้เกี่ยวข้องกับโปรโตคอลต่อต้านเอนโทรปี แม้ว่าจะถูกสร้างขึ้นโดยคำนึงถึงการส่งแต่ละโหนดด้วยองค์ประกอบที่แยกจากกันของข้อมูลที่ถูกส่ง หลังจากนั้นข้อมูลจะถูกแชร์ระหว่างโหนดเพื่อสร้างภาพที่สมบูรณ์

อัลกอริทึมโปรโตคอลการนินทา

อัลกอริธึมการนินทาเป็นโปรโตคอลการแลกเปลี่ยนข้อมูลแบบอะซิงโครนัสซึ่งสร้างขึ้นจากการนินทาไม่เช่นนั้นรูปแบบข่าวลือก็ไม่น่าเชื่อถือ เนื่องจากความเรียบง่ายอย่างมากและการบังคับใช้ในวงกว้าง อัลกอริธึมนี้จึงปรากฏเป็นโซลูชันสถาปัตยกรรมตามรูปแบบบัญญัติ โดยเฉพาะอย่างยิ่งสำหรับเครือข่ายรุ่นต่อไป

ในอัลกอริธึมโปรโตคอล gossip ทุกโหนดภายในเครือข่ายแลกเปลี่ยนข้อมูลเป็นระยะกับชุดย่อยของโหนด โดยปกติ เซตย่อยนี้เป็นเซตของเพื่อนบ้านของแต่ละโหนด แต่ละโหนดมีเพียงมุมมองเครือข่ายท้องถิ่นเท่านั้น ทุกโหนดจะได้รับข้อมูลสากลที่ต้องการตลอดหมายเลขที่กำหนด ของการอัพเดตโหนดเป็นระยะ

ข้อดีและข้อเสีย

ดิ ข้อดีของโปรโตคอลการนินทา รวมสิ่งต่อไปนี้

  • โปรโตคอลเหล่านี้สามารถปรับขนาดได้อย่างมาก
  • โหนดทั้งหมดในโปรโตคอลนี้ทำงานเหมือนกันและไม่มีฟังก์ชันพิเศษหรือแตกต่างกัน เมื่อความล้มเหลวเกิดขึ้นภายในโหนดเดียวหรือหลายโหนด จะไม่ขัดจังหวะหรือส่งผลต่อโหนดอื่นๆ ภายในเครือข่ายสำหรับการกระจายข้อมูล ในทำนองเดียวกัน โหนดสามารถผ่านหรือออกจากเครือข่ายระหว่างคู่ได้โดยไม่มีข้อจำกัด & โดยไม่กระทบต่อการทำงานของมัน
  • โปรโตคอลเหล่านี้แจกจ่ายข้อมูลด้วยวิธีที่เป็นอิสระและกระจายอำนาจโดยสิ้นเชิง
  • โปรโตคอลประเภทนี้มีความสามารถในการทำงานอย่างถูกต้องเนื่องจากโหนดมีความสามารถในการแบ่งปันและแจกจ่ายข้อมูลกับโหนดจำนวนมากภายในเครือข่ายเพียร์

ดิ ข้อเสียของระเบียบการนินทา รวมสิ่งต่อไปนี้

  • โปรโตคอลเหล่านี้มอบความแข็งแกร่งให้กับระบบโดยปล่อยให้โหนดในเครือข่ายทำงานอย่างต่อเนื่องโดยไม่ทำให้เกิดความล้มเหลว
  • ความซ้ำซ้อนสูงอาจนำไปสู่ความต้องการแบนด์วิดท์สูงสุด ซึ่งจะทำให้เครือข่ายติดขัดได้

แอปพลิเคชั่น

ดิ แอปพลิเคชั่น gossip protoco l รวมสิ่งต่อไปนี้

  • โปรโตคอลซุบซิบส่วนใหญ่จะใช้เพื่อแก้ไขปัญหาที่เกิดขึ้นจากมัลติคาสต์
  • เป็นการสื่อสารประเภทหนึ่งทุกที่ที่ส่วนหนึ่งของการนินทาหรือข้อมูลในสถานะนี้ถูกส่งจากโหนดหนึ่งหรือหลายโหนดไปยังชุดของโหนดอื่นภายในเครือข่าย
  • โปรโตคอลเหล่านี้ถูกใช้โดยเครือข่ายการกระจายต่างๆ เพื่อกระจายข้อมูลอย่างรวดเร็วและเชื่อถือได้
  • สิ่งเหล่านี้ถูกใช้โดย bitcoin เพื่อกระจายค่าที่ไม่คงที่ผ่านโหนดการขุด
  • สิ่งเหล่านี้ส่วนใหญ่ใช้เพื่อสร้างช่องทางการสื่อสารซึ่งโหนดทั้งหมดของเครือข่ายอาจได้รับข้อมูลและค้นหาการจับคู่ที่ช่วยกระจายข้อมูลเมตา
  • ฐานข้อมูล Ripples ใช้โปรโตคอลการนินทาเพื่อส่งข้อมูลเกี่ยวกับสภาพและคุณสมบัติของวงแหวน
  • ไดนาโมใช้โปรโตคอลการนินทาเพื่อติดตามการเป็นสมาชิก ช่วยให้คุณค้นพบผู้เข้าร่วมโปรแกรมใหม่รวมถึงสังเกตการทำงานผิดปกติใดๆ
  • โปรโตคอลเหล่านี้ใช้ในเครือข่ายบริการกงสุลสำหรับทั้งการตรวจจับและการระบุสมาชิกใหม่ของเครือข่ายที่พังลง มิฉะนั้นอาจเกิดความล้มเหลว
  • เครือข่ายกงสุลใช้โปรโตคอลเหล่านี้เพื่อส่งต่อข้อมูลเกี่ยวกับบริการและกิจกรรมใหม่ในเครือข่ายอย่างปลอดภัยและรวดเร็ว

ดังนั้น ทั้งหมดนี้เกี่ยวกับ ภาพรวมของโปรโตคอลการนินทา - การทำงานกับแอพพลิเคชั่น โปรโตคอลการนินทานั้นมีประสิทธิภาพ ดังนั้นการตรวจจับความล้มเหลวของโปรโตคอลการนินทาจึงเป็นไปได้ง่ายๆ ในระบบแบบกระจายและขนาดใหญ่ในแบบอะซิงโครนัส นี่คือคำถามสำหรับคุณ ตัวอย่าง Gossip Protocol คืออะไร?