- ตอนนี้รองรับ Khepri อย่างสมบูรณ์แล้ว ซึ่งเป็นที่เก็บข้อมูลสคีมาแบบทางเลือกที่พัฒนาขึ้นมาเพื่อแทนที่ Mnesia
- ตอนนี้ AMQP 1.0 เป็นโปรโตคอลหลักที่เปิดใช้งานตลอดเวลา
- การติดตั้งใช้งาน AMQP 1.0 มีประสิทธิภาพมากขึ้นอย่างมาก ตอนนี้ทรูพุตสูงสุดในบางเวิร์กโหลดสูงกว่า 3.13.x ได้มากกว่า 2 เท่า
- การกู้คืน Sub-Linear Quorum Queue อย่างมีประสิทธิภาพเมื่อเริ่มโหนดโดยใช้ checkpoint
- ตอนนี้ Quorum Queue รองรับลำดับความสำคัญแล้ว (แต่ไม่ทำงานแบบเดียวกับคิวทั่วไปทุกประการ)
- ตอนนี้ไคลเอนต์ AMQP 1.0 สามารถจัดการโทโพโลยีได้ในลักษณะคล้ายกับที่ไคลเอนต์ AMQP 0-9-1 ทำ
- ตอนนี้กฎ AMQP 1.0 (รูปแบบ address) ที่ใช้เพื่อโต้ตอบกับเอนทิตี AMQP 0-9-1 เข้าใจได้ง่ายขึ้น
- มีการถอด mirroring (การทำสำเนา) ของ classic queue ที่อยู่ในสถานะ deprecation มาหลายปีออกแล้ว
- สำหรับชนิดข้อมูล messaging แบบ replicated ให้ใช้ quorum queue และ/หรือ stream
- classic queue แบบไม่ replicated ยังคงอยู่และจะพัฒนาต่อไป
- ประสิทธิภาพของ storage สำหรับ classic queue ได้รับการปรับปรุง โดยเฉพาะเรื่องเวลาในการกู้คืนและการจัดเก็บข้อความขนาดหลาย MiB
- โหนดที่เปิดใช้งานปลั๊กอินหลายตัวและแทบไม่มีข้อมูลให้กู้คืนจากดิสก์ ตอนนี้เริ่มทำงานได้เร็วขึ้น 20-30%
- exchange type ใหม่: Local Random Exchange
Breaking Change
- ตอนนี้ classic queue เป็น Queue Type แบบไม่ replicated
- ตอนนี้ Quorum Queue มีค่า Redelivery limit เริ่มต้นแล้ว (20)
- มีการถอด implementation ของ storage แบบ CQv1 ออกแล้ว
- มีการถอดการตั้งค่า
cluster_formation.randomized_startup_delay_range.* ออกแล้ว
- ค่าเริ่มต้นของขนาดข้อความสูงสุดลดลงเหลือ 16MiB (เดิม 128MiB)
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
RabbitMQ ถูกมองมานานว่าเป็นอาวุธลับที่ซ่อนอยู่
รีลีสครั้งนี้มีการใช้งาน AMQP 1.0 แบบใหม่, ความสามารถใหม่ของ quorum queue และที่เก็บข้อมูลสคีมาแบบใหม่ (Khepri)
หน้า GitHub ที่ลิงก์ไว้ขึ้นข้อผิดพลาด 404 แต่สามารถดูบันทึกประจำรุ่นได้ที่
RabbitMQ ถูกพัฒนาโดย VMware ซึ่งถูก Broadcom เข้าซื้อกิจการ
RabbitMQ สามารถทำงานเป็น MQTT broker แบบเนทีฟได้ด้วย
เผื่อใครสนใจ NATS ก็รองรับ MQTT เช่นกัน
สงสัยว่ามีเหตุผลอะไรที่ต้องย้ายจาก SNS/SQS มาใช้ RabbitMQ
อยากรู้ว่ามันผ่านการทดสอบสไตล์ Jepsen หรือไม่
อยากรู้ข้อดีข้อเสียเมื่อเทียบกับ EMQX, NanoMQ และ FlashMQ
ดูเหมือนว่าจะไม่มีการสนับสนุนฟรีสำหรับ RabbitMQ แล้ว
สงสัยว่า Celery เข้ากันได้กับ RabbitMQ โดยปริยายหรือไม่