Apache Kafka ถอดการพึ่งพา ZooKeeper ออก
(confluent.io)-
เนื่องจากใช้ ZooKeeper เป็นที่เก็บเมทาดาทาภายนอก จึงเกิดปัญหาอย่างความซ้ำซ้อน ความไม่มีประสิทธิภาพ และข้อจำกัดด้านการขยายตัว
-
KIP-500 : "Kafka on Kafka"
→ จัดการเมทาดาทาโดยตรงภายใน Kafka และจัดเก็บไว้ในพาร์ทิชัน
→ ปฏิบัติต่อเมทาดาทาในรูปแบบล็อก
→ เพิ่มความเร็วในการสร้าง/ลบท็อปปิก : ต่างจาก ZooKeeper เพราะการสร้างท็อปปิกใหม่ในเมทาดาทาพาร์ทิชันจบได้ด้วยโอเปอเรชัน O(1)
→ คลัสเตอร์เดี่ยวสามารถรองรับพาร์ทิชันได้มากกว่า 1 ล้านรายการ
- โรดแมป
→ ยังมีเครื่องมือจัดการที่สื่อสารกับ ZooKeeper โดยตรงอยู่ และมีแผนจะจัดเตรียม API เพื่อใช้แทน
→ เนื่องจากจะเกิดการพึ่งพากันระหว่างเมทาดาทาพาร์ทิชันกับคอนโทรลเลอร์ จึงมีแผนจะพัฒนา self-managed metadata quorum ด้วยโปรโตคอล Raft ใน KIP-595
→ โหมด KIP-500 ที่รัน Kafka ได้โดยไม่ต้องมี ZooKeeper : ในช่วงแรกจะยังรองรับได้ไม่สมบูรณ์ทั้งหมด จึงมีแผนจะใช้ ZooKeeper ร่วมกันในโหมดเลกาซี
→ KIP-500 คือ "Bridge Release" เป็นการอัปเกรดขั้นกลางเพื่อให้สามารถย้ายไปยังเวอร์ชันหลัง KIP-500 ที่จะเลิกสนับสนุน ZooKeeper อย่างสมบูรณ์ได้โดยไม่มี downtime และรองรับให้สามารถอัปเกรดอีกครั้งไปยังเวอร์ชันที่ไม่มี ZooKeeper อย่างแท้จริง
1 ความคิดเห็น
ขอบคุณครับ อ่านแล้วได้ประโยชน์มาก