• โอเพนซอร์สประสิทธิภาพสูงที่เขียนด้วย Rust สำหรับใช้แทน Kafka
  • แพลตฟอร์มสตรีมมิงข้อความแบบกระจายศูนย์ ที่สร้างบน เอนจินจัดเก็บล็อกประสิทธิภาพสูง มอบการสตรีมที่เสถียรและความสามารถในการสลับผู้นำอัตโนมัติ
  • รักษาความสอดคล้องของเมตะดาต้าและรองรับการกู้คืนจากความขัดข้องผ่าน Raft consensus protocol
  • ใช้ การแบ่งพาร์ทิชันตามเซกเมนต์ เพื่อกระจายโหลดโดยอัตโนมัติ และหมุนภาวะผู้นำแบบ round-robin
  • ความสามารถหลัก
    • แบ่งท็อปปิกด้วย การชาร์ดระดับเซกเมนต์ และให้โหนดผู้นำของแต่ละเซกเมนต์รับผิดชอบการเขียน
    • ใช้ lease-based write fencing เพื่อให้มีผู้นำเพียงรายเดียวที่เขียนได้ ป้องกัน split-brain
    • automatic rollover จะเสนอการเปลี่ยนเมตะดาต้าและสลับผู้นำเมื่อขนาดเซกเมนต์เกินกำหนด
    • ฟีเจอร์ Sealed Segment Reads ช่วยให้อ่านข้อมูลย้อนหลังได้โดยตรงจากรีพลิกา
    • I/O ประสิทธิภาพสูงบน io_uring ช่วยให้ได้ throughput สูงในสภาพแวดล้อม Linux
  • โปรโตคอลไคลเอนต์
    • ใช้ โปรโตคอลข้อความแบบ length-prefixed บน TCP
    • รองรับการสร้างท็อปปิก การส่งและรับข้อความ และการตรวจสอบสถานะผ่านคำสั่ง REGISTER, PUT, GET, STATE, METRICS
    • โครงสร้างคำสั่งเรียบง่าย ทำให้ เชื่อมต่อกับโหนดใดก็ได้ และมีการส่งต่ออัตโนมัติ
  • ลักษณะด้านประสิทธิภาพ
    • throughput การเขียน: โครงสร้าง single writer ต่อเซกเมนต์ช่วยรักษาประสิทธิภาพได้อย่างเสถียร
    • throughput การอ่าน: ขยายได้ตามจำนวนรีพลิกา
    • latency: โดยเฉลี่ยอยู่ที่ระดับ 1~2 RTT
    • ลด overhead ของ consensus ให้ต่ำที่สุด: ใช้ Raft กับเมตะดาต้าเท่านั้น ไม่ใช้กับเส้นทางข้อมูล
  • การเปรียบเทียบประสิทธิภาพ
    • มี throughput การเขียนและแบนด์วิดท์สูงกว่า Kafka, RocksDB
    • เมื่อปิด fsync ทำได้มากกว่า 1.2 ล้านรายการต่อวินาที และแม้เปิดใช้งานก็ยังคงรักษาประสิทธิภาพที่เสถียรในระดับใกล้เคียงกัน
  • MIT License

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น