คาฟคาจะเกิดอะไรขึ้นกับข้อความหากสมาชิกกลุ่มผู้บริโภคล่ม?

สมมติว่าเรามีหัวข้อชื่อ Topic และกลุ่มผู้บริโภค CG ที่มีผู้บริโภคสามคน ออฟเซ็ตกลุ่มเท่ากับ 0

ผู้บริโภคเริ่มอ่านข้อความ

ลำดับการอ่าน:

  1. ผู้บริโภค 1 อ่านข้อความ 1
  2. ผู้บริโภค 2 อ่านข้อความ 2
  3. ผู้บริโภค 3 อ่านข้อความ 3
  4. ผู้บริโภค 2 ส่งข้อความ 2
  5. ผู้บริโภค 3 ส่งข้อความ 3
  6. Consumer 1 ล้มเหลวในการประมวลผลข้อความ 1 และหยุดทำงาน

คำถามคือจะเกิดอะไรขึ้นกับข้อความที่ 1?

หรือบางทีฉันอาจเข้าใจผิดว่าผู้บริโภคอ่านข้อความอย่างไรเนื่องจากฉันยังใหม่กับคาฟคา

เวอร์ชัน: Apache Kafka 2.4.0


person Prisacari Dmitrii    schedule 25.12.2019    source แหล่งที่มา


คำตอบ (2)


คุณพลาด พาร์ติชัน ผู้บริโภคหลายรายในกลุ่มเดียวกันจะไม่บริโภคข้อความจากกลุ่มเดียวกัน พาร์ติชัน

สมมติว่าคุณมีหัวข้อที่มีสามพาร์ติชัน (P0, P1, P2) และถ้าคุณมีผู้บริโภคสามคน (C1, C2, C3) ในกลุ่มเดียวกัน แต่ละคนก็จะเริ่มใช้งานจากแต่ละพาร์ติชัน

ป้อนคำอธิบายรูปภาพที่นี่

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

สมมติว่าคุณมีหัวข้อ 5 พาร์ติชัน (P0,P1,P2,P3,P4) และมีผู้บริโภค 3 ราย (C0,C1,C3) ของกลุ่มเดียวกัน จากนั้น ผู้บริโภคจะพยายามโหลดยอดคงเหลือเท่าๆ กันโดยแต่ละพาร์ติชันแบ่ง ป้อนคำอธิบายรูปภาพที่นี่

C1 ใช้จาก P0 และ P1 และ C2 ใช้จาก P2 และ P3 และ C3 ที่เหลือใช้จาก P4

person Deadpool    schedule 25.12.2019
comment
ดังนั้นหาก C3 ใช้ข้อความทั้งหมดจากพาร์ติชันของตัวเอง kafka (หรือไคลเอ็นต์ kafka) จะมอบหมายพาร์ติชันอื่นให้กับตัวเองอีกครั้งเพื่อช่วยเหลือผู้บริโภครายอื่นหรือไม่ - person Prisacari Dmitrii; 25.12.2019
comment
ไม่มีคาฟคาจะไม่ลาออกอะไรแบบนั้น @PrisacariDmitrii - person Deadpool; 25.12.2019

ผู้ใช้บริการแต่ละรายจะมีพาร์ติชันที่กำหนดให้กับพวกเขา สมมติว่าเรามี 6 พาร์ติชั่น:

ผู้บริโภค 1: พาร์ติชัน 1 และ 2
ผู้บริโภค 2: พาร์ติชัน 3 และ 4
ผู้บริโภค 3: พาร์ติชัน 5 และ 6

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

ผู้บริโภค 2: พาร์ติชัน 1 & 3 & 4
ผู้บริโภค 3: พาร์ติชัน 2 & 5 & 6

ผู้ใช้บริการรายอื่นจะเริ่มต้นจากออฟเซ็ตที่คอมมิตครั้งล่าสุดบนพาร์ติชันนั้น

person doompickaxe    schedule 25.12.2019