มาถ่ายกันตามลำดับ :)
1 - เมื่อผู้ผลิตสร้างข้อความ - มันจะระบุหัวข้อที่ต้องการส่งข้อความไปใช่ไหม? มันสนใจพาร์ติชั่นไหม?
ตามค่าเริ่มต้นผู้ผลิตไม่สนใจการแบ่งพาร์ติชัน คุณมีตัวเลือกในการใช้ตัวแบ่งพาร์ติชันแบบกำหนดเองเพื่อให้มีการควบคุมที่ดีกว่า แต่ก็เป็นตัวเลือกทั้งหมด
2 - เมื่อผู้สมัครสมาชิกกำลังทำงาน - มันระบุรหัสกลุ่มเพื่อให้สามารถเป็นส่วนหนึ่งของกลุ่มผู้บริโภคในหัวข้อเดียวกันหรือหลายหัวข้อที่ผู้บริโภคกลุ่มนี้สนใจ
ใช่ผู้บริโภคเข้าร่วม (หรือสร้างถ้าพวกเขาอยู่คนเดียว) กลุ่มผู้บริโภคเพื่อแบ่งปันภาระ ไม่มีผู้บริโภคสองคนในกลุ่มเดียวกันจะได้รับข้อความเดียวกัน
3 - กลุ่มผู้บริโภคแต่ละกลุ่มมีพาร์ติชั่นที่สอดคล้องกันในนายหน้าหรือแต่ละกลุ่มผู้บริโภคมีหนึ่งพาร์ติชั่นหรือไม่
ทั้ง ผู้บริโภคทั้งหมดในกลุ่มผู้บริโภคจะได้รับชุดพาร์ติชันภายใต้สองเงื่อนไข: ไม่มีผู้ใช้สองคนในกลุ่มเดียวกันที่มีพาร์ติชั่นร่วมกัน - และกลุ่มผู้บริโภคทั้งหมดได้รับการกำหนดพาร์ติชันที่มีอยู่ทั้งหมด
4 - พาร์ติชันที่สร้างขึ้นโดยนายหน้าจึงไม่กังวลสำหรับผู้บริโภคหรือไม่
พวกเขาไม่ได้ แต่คุณสามารถเห็นได้จาก 3 ว่ามันไร้ประโยชน์โดยสิ้นเชิงที่จะมีผู้บริโภคมากกว่าพาร์ทิชันที่มีอยู่ดังนั้นจึงเป็นระดับความขนานสูงสุดของคุณสำหรับการบริโภค
5 - เนื่องจากนี่เป็นคิวที่มีออฟเซ็ตสำหรับแต่ละพาร์ติชันเป็นความรับผิดชอบของผู้บริโภคที่จะระบุข้อความที่ต้องการอ่านหรือไม่? มันจำเป็นต้องบันทึกสถานะของมันหรือไม่?
ใช่ผู้บริโภคบันทึกออฟเซ็ตต่อหัวข้อต่อพาร์ติชัน สิ่งนี้ได้รับการจัดการโดยคาฟคาทั้งหมดไม่ต้องกังวลกับมัน
6 - จะเกิดอะไรขึ้นเมื่อข้อความถูกลบออกจากคิว - ตัวอย่างเช่น: การเก็บรักษาเป็นเวลา 3 ชั่วโมงจากนั้นเวลาผ่านไปจะจัดการกับทั้งสองด้านได้อย่างไร
หากผู้บริโภคร้องขอการชดเชยไม่พร้อมใช้งานสำหรับพาร์ติชันบนโบรกเกอร์ (ตัวอย่างเช่นเนื่องจากการลบ) ผู้ใช้จะเข้าสู่โหมดข้อผิดพลาดและรีเซ็ตตัวเองในท้ายที่สุดว่าพาร์ติชันนี้เป็นข้อความล่าสุดหรือเก่าที่สุด ค่าการกำหนดค่า auto.offset.reset) และทำงานต่อไป