ข้ามไปที่เนื้อหาหลัก

บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ Realtime

Apache Kafka แก้ปัญหาอะไรบ้าง

Apache Kafka แก้ปัญหาอะไรบ้าง Apache Kafka คือ เป็นระบบเหตุการณ์แบบกระจาย ทำงานแบบเรียล์ไทม Distributed Event Streaming Platform สำหรับรับ-ส่ง จัดเก็บ และประมวลผลข้อมูลต่างๆ ระหว่างระบบต่าง ๆ Apache Kafka ในสถาปัตยกรรมซอฟต์แวร์ แก้ปัญหาสำคัญเรื่อง การสื่อสารและการไหลของข้อมูลระหว่างระบบจำนวนมาก โดยเฉพาะระบบที่ต้องรองรับ Real-time และ Scale สูง ได้แก่ Tight Coupling, Traffic สูง,  Real-time Data มีความต่อเนื่องกัน, Service ล่มแล้วข้อมูลหาย, การทำงานไม่พร้อมกัน, Data Pipeline ข้อมูลชุดเดียวกันไปใช้ได้หลายระบบ, Scalability การขยายระบบ Apache Kafka มีแนวคิดหลักว่า “อย่าให้ระบบต่าง ๆ เรียกหากันโดยตรงทุกครั้ง แต่ให้สื่อสารกันผ่าน Event  ที่อยู่ในศูนย์กลาง Event Streaming” กล่าวง่ายๆ คือ ทำหน้าที่เป็นตัวกลางระหว่างระบบ โดยการทำงานจะทำงานแบบจับเหตุการณ์ แบบ Real Time ซึ่งต่อการความต่อเนื่อง ป้องกันข้อมูลศูนย์หายระหว่างการสื่อสารระหว่างระบบ องค์ประกอบของ Apache Kafka Apache Kafka เป็นแพลตฟอร์มสำหรับจัดการและส่งต่อข้อมูลในรูปแบบ Event Streaming โดยออกแบบมาเพื่อ...

Debezium คืออะไร คุณสมบัติหลักและการทำงาน สำคัญอย่างไรกับ Data Replication สู่ Real-time Analytics

  Debezium  คืออะไร Debezium คือ open-source platform แบบกระจาย (Distributed Platform) สำหรับทำ Change Data Capture (CDC) ที่ช่วยแปลงการเปลี่ยนแปลงข้อมูลระดับแถว (Row-level changes) ในฐานข้อมูลให้กลายเป็น event streams แบบเรียลไทม์ คุณสมบัติหลักและการทำงานการทำงาน Debezium (Log-based CDC) อ่านข้อมูลจาก transaction log ของฐานข้อมูลโดยตรง ทำให้มีผลกระทบ (Overhead) ต่อระบบฐานข้อมูลต้นทางน้อยมากเมื่อเทียบกับการใช้ Triggers  สตรีมมิ่งผ่าน Kafka: ทำงานร่วมกับ Apache Kafka และ Kafka Connect เพื่อบันทึกเหตุการณ์การเปลี่ยนแปลงลงใน Kafka  รองรับฐานข้อมูลหลากหลาย: มี Connectors สำหรับฐานข้อมูลยอดนิยม เช่น MySQL, PostgreSQL, Oracle, SQL Server, MongoDB, MariaDB, Cassandra และอื่นๆ  การทำ Snapshot: รองรับการทำ Initial Snapshot ทั้งแบบปกติและ Incremental Snapshot เพื่อเก็บสถานะเริ่มต้นของข้อมูลก่อนเริ่มสตรีม Log  ใช้ Debezium ร่วมกับ Kafka สำหรับทำ CDC วิธีนี้แทบไม่ต้องเขียนโค้ดเพื่อดึงข้อมูลเองเลย แต่เป็นการสถาปนาระบบ (Setup Infrastructure) โดยใช้ซอฟต์แวร์ Open-source ...