RabbitMQ Streams
(blog.rabbitmq.com)- Streams : โครงสร้างข้อมูลใหม่ที่เพิ่มเข้ามาใน RabbitMQ 3.9
→ เป็นโมเดล Append-Only ที่ไม่ลบข้อความ ต่างจากคิวแบบเดิม
→ ข้อมูลถูกเก็บรักษาและทำซ้ำไว้
- กรณีการใช้งาน
→ เมื่อหลายแอปพลิเคชันต้องรับข้อความเดียวกันพร้อมกัน
→ การเก็บแบ็กล็อกปริมาณมาก
→ สามารถ Replay และย้อนเวลาได้โดยอิงตาม Timestamp
→ เร็วกว่าคิวแบบเดิมอย่างมาก
- ความสามารถหลัก
→ รับประกันการส่งอย่างน้อย 1 ครั้ง
→ รองรับการติดตามออฟเซ็ตฝั่งเซิร์ฟเวอร์ สามารถเริ่มใหม่จากตำแหน่งที่คอนซูเมอร์ต้องการได้
→ ขยายได้ไม่สิ้นสุด รองรับการลบผ่านนโยบายการเก็บข้อมูลตามขนาด/ช่วงเวลา
→ รองรับโปรโตคอลไบนารีเฉพาะทางความเร็วสูงมาก และ AMQP 0.91 & 1.0
→ รองรับ TLS ระหว่างไคลเอนต์-เซิร์ฟเวอร์
→ มี Java / Client ให้
2 ความคิดเห็น
ก็คือแนะนำให้ใช้ตอนที่อยากทำ stream processing แบบเล็ก ๆ แทน Kafka สินะ
น่าจะเลือกใช้ระหว่าง Redis Streams กับของนี้ให้เหมาะกับอินฟราที่มีอยู่เดิมได้
โอ้.. rabbitmq ติดตั้งง่ายกว่าเมื่อเทียบกับ Kafka ก็เลยน่าจะดีนะครับ!