Apache Kafka - ความรู้พื้นฐาน

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

ในแผนภาพด้านบนหัวข้อถูกกำหนดค่าเป็นสามพาร์ติชัน พาร์ติชั่น 1 มีปัจจัยออฟเซ็ต 2 ตัว 0 และ 1 พาร์ติชั่น 2 มีสี่ออฟเซ็ตแฟคเตอร์ 0, 1, 2 และ 3 พาร์ติชั่น 3 มีอ็อฟเซ็ตแฟคเตอร์ 0 หนึ่งไอดีของแบบจำลองจะเหมือนกับ id ของเซิร์ฟเวอร์ที่โฮสต์มัน

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

ส. เลขที่ ส่วนประกอบและคำอธิบาย
1

Topics

กระแสของข้อความที่อยู่ในหมวดหมู่หนึ่งเรียกว่าหัวข้อ ข้อมูลถูกจัดเก็บในหัวข้อ

หัวข้อจะแบ่งออกเป็นพาร์ติชัน สำหรับแต่ละหัวข้อ Kafka จะเก็บมินิมัมไว้หนึ่งพาร์ติชัน แต่ละพาร์ติชันดังกล่าวมีข้อความตามลำดับที่ไม่เปลี่ยนรูป พาร์ติชันถูกใช้งานเป็นชุดของไฟล์เซ็กเมนต์ที่มีขนาดเท่ากัน

2

Partition

หัวข้ออาจมีหลายพาร์ติชันดังนั้นจึงสามารถจัดการกับข้อมูลจำนวนหนึ่งได้ตามอำเภอใจ

3

Partition offset

แต่ละข้อความแบ่งพาร์ติชันที่มี ID ลำดับไม่ซ้ำกันเรียกว่าเป็นชดเชย

4

Replicas of partition

Replicas ไม่ใช่อะไรนอกจากการสำรองข้อมูลของพาร์ติชัน แบบจำลองจะไม่อ่านหรือเขียนข้อมูล ใช้เพื่อป้องกันข้อมูลสูญหาย

5

Brokers

  • โบรกเกอร์เป็นระบบที่เรียบง่ายที่รับผิดชอบในการดูแลรักษาข้อมูลที่มีชื่อเสียง แต่ละโบรกเกอร์อาจมีพาร์ติชั่นเป็นศูนย์หรือมากกว่านั้นต่อหัวข้อ สมมติว่าหากมี N พาร์ติชั่นในหัวข้อและ N จำนวนโบรกเกอร์แต่ละโบรกเกอร์จะมีพาร์ติชั่นเดียว

  • สมมติว่ามีพาร์ติชั่น N ในหัวข้อและมากกว่า N โบรกเกอร์ (n + m) โบรกเกอร์ N ตัวแรกจะมีพาร์ติชันเดียวและโบรกเกอร์ M ถัดไปจะไม่มีพาร์ติชั่นสำหรับหัวข้อนั้น ๆ

  • สมมติว่ามี N พาร์ติชั่นในหัวข้อหนึ่งและน้อยกว่า N โบรกเกอร์ (นาโนเมตร) แต่ละโบรกเกอร์จะมีพาร์ติชันร่วมกันอย่างน้อยหนึ่งพาร์ติชั่น ไม่แนะนำให้ใช้สถานการณ์นี้เนื่องจากโบรกเกอร์โหลด Distri-bution ไม่เท่ากัน

6

Kafka Cluster

คาฟคามีนายหน้ามากกว่าหนึ่งคนเรียกว่าคลัสเตอร์คาฟคา คลัสเตอร์ Kafka สามารถขยายได้โดยไม่ต้องหยุดทำงาน คลัสเตอร์เหล่านี้ใช้เพื่อจัดการการคงอยู่และการจำลองข้อมูลข้อความ

7

Producers

ผู้ผลิตเป็นผู้เผยแพร่ข้อความไปยังหัวข้อ Kafka อย่างน้อยหนึ่งหัวข้อ ผู้ผลิตส่งข้อมูลไปยังโบรกเกอร์คาฟคา ทุกครั้งที่ผู้ผลิตเผยแพร่ข้อความถึงนายหน้านายหน้าจะต่อท้ายข้อความไว้ในไฟล์เซ็กเมนต์สุดท้าย จริงๆแล้วข้อความจะถูกต่อท้ายพาร์ติชัน Producer ยังสามารถส่งข้อความไปยังพาร์ติชันที่ต้องการได้

8

Consumers

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

9

Leader

Leaderคือโหนดที่รับผิดชอบการอ่านและเขียนทั้งหมดสำหรับพาร์ติชันที่กำหนด ทุกพาร์ติชันมีเซิร์ฟเวอร์หนึ่งเครื่องทำหน้าที่เป็นผู้นำ

10

Follower

โหนดซึ่งเป็นไปตามคำแนะนำของผู้นำเรียกว่าเป็นผู้ติดตาม หากผู้นำล้มเหลวผู้ตามคนใดคนหนึ่งจะกลายเป็นผู้นำคนใหม่โดยอัตโนมัติ ผู้ติดตามทำหน้าที่เป็นผู้บริโภคทั่วไปดึงข้อความและอัปเดตที่เก็บข้อมูลของตนเอง