คืออะไร Apache Kafka
แพลตฟอร์มสตรีมมิ่งเหตุการณ์
Apache Kafka คือแพลตฟอร์มสตรีมมิ่งเหตุการณ์แบบกระจายที่ออกแบบมาเพื่อจัดการข้อมูลปริมาณมากแบบเรียลไทม์
แนวคิดหลัก
- Topic — หมวดหมู่สำหรับจัดระเบียบข้อความ
- Partition — การแบ่ง topic สำหรับการประมวลผลแบบขนาน
- Producer — ผู้ส่งข้อความ
- Consumer — ผู้รับข้อความ
- Broker — เซิร์ฟเวอร์ Kafka
- Consumer Group — กลุ่มผู้บริโภคสำหรับการกระจายภาระ
ข้อดีของ Kafka
- ปริมาณงานสูง (ล้านข้อความ/วินาที)
- การขยายแนวนอน
- การจัดเก็บข้อความระยะยาว
- การรับประกันการส่ง (at-least-once, exactly-once)
- ทนทานต่อความผิดพลาดผ่านการจำลอง
การประยุกต์ใช้
- Event-Driven Architecture — การสื่อสารไมโครเซอร์วิส
- การบันทึก — การรวบรวมล็อกแบบรวมศูนย์
- การสตรีมข้อมูล — การวิเคราะห์แบบเรียลไทม์
- ETL Pipelines — การรวมข้อมูล
- IoT — การประมวลผลข้อมูลอุปกรณ์
ระบบนิเวศ
- Kafka Connect — ตัวเชื่อมต่อฐานข้อมูล
- Kafka Streams — การประมวลผลสตรีมใน Java
- ksqlDB — SQL สำหรับสตรีมข้อมูล
- Schema Registry — การจัดการ schema Avro/JSON