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