Score:0

คิวโควรัม RabbitMQ - ให้โหนดเข้าร่วมใหม่โดยอัตโนมัติ

ธง ma

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

อย่างไรก็ตาม บทที่ "การจัดการแบบจำลอง" รัฐ:

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

ดังนั้นจึงดูเหมือนว่าในกรณีของ การหยุดชะงัก (โดยเฉพาะอย่างยิ่งโดยไม่สมัครใจ) สถานการณ์ต่อไปนี้อาจเกิดขึ้นได้ (สำหรับคลัสเตอร์ 3 โหนด):

  1. หลังจากการหยุดชะงัก โหนดจะดับลง: อีกสองโหนดยังคงประกอบเสียงข้างมาก และจะ "รักษาคิวให้คงอยู่" โดยอาจเลือกผู้นำคนใหม่
  2. kubernetes จะจัดเตรียมโหนดใหม่ (พ็อด) เพื่อแทนที่โหนดที่ล้มเหลว โหนดใหม่จะเข้าร่วมคลัสเตอร์ RabbitMQ อีกครั้งโดยอัตโนมัติ แต่
  3. เว้นแต่ผู้ประกอบการ แทรกแซงด้วยตนเองโหนดใหม่จะ ไม่ มีส่วนร่วมในคิวองค์ประชุมที่มีอยู่;
  4. สำหรับคลัสเตอร์ 3 โหนด หมายความว่าไม่มี HA อีกต่อไป: หากในอนาคต โหนดอื่นล้มเหลว คิวจะหายไปอย่างมีประสิทธิภาพ

มีวิธีใดบ้างที่จะบรรเทาสถานการณ์นี้ ตัวอย่างเช่น เป็นไปได้หรือไม่ที่จะให้โหนดเข้าร่วมคลัสเตอร์คิวควอรัมที่มีอยู่ทั้งหมดอีกครั้งโดยอัตโนมัติ อาจด้วยการรักษารายการของ "คำสั่งเริ่มต้น" (ซึ่งทำงานหลังจากเริ่ม RabbitMQ) ซึ่งเราสามารถเพิ่มไฟล์ เข้าร่วมคำสั่งอีกครั้ง?

Mikołaj Głodziak avatar
id flag
คุณใช้ Kubernetes เวอร์ชันใด และตั้งค่าคลัสเตอร์อย่างไร คุณใช้การติดตั้งแบบ Bare Metal หรือผู้ให้บริการคลาวด์บางรายหรือไม่ สิ่งสำคัญคือต้องทำซ้ำปัญหาของคุณ
Score:1
ธง br

ทีม RabbitMQ ขอแนะนำให้ใช้ตัวดำเนินการ Kubernetes อย่างเป็นทางการ - https://www.rabbitmq.com/kubernetes/operator/operator-overview.html

นอกเหนือจากนั้น นี่คือสิ่งที่ผู้เชี่ยวชาญ k8s ในพื้นที่พูดถึง:

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

ตราบใดที่ยังใช้ชื่อและข้อมูลเดียวกัน โหนด "ใหม่" จะเข้าร่วมเหมือนกับโหนดเก่า

อาจมีบางสถานการณ์ที่ต้องมีการแทรกแซงด้วยตนเอง แต่ไม่บ่อยเท่าที่คุณคิด


บันทึก: ทีม RabbitMQ ตรวจสอบ ผู้ใช้ rabbitmq รายชื่อผู้รับจดหมาย และบางครั้งตอบคำถามใน StackOverflow เท่านั้น

โพสต์คำตอบ

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