Queue trong RabbitMQ giữ message cho đến khi consumer xử lý chúng — đóng vai trò là buffer giữa producer và consumer. Hiểu các thuộc tính của queue (durability, acknowledgment, v.v.) là quan trọng cho messaging đáng tin cậy.
Queue làm gì
Một QUEUE giữ message cho đến khi một consumer lấy chúng:
→ message chờ trong queue (một buffer) → tách rời tốc độ producer khỏi tốc độ consumer
→ consumer nhận message (push hoặc pull), xử lý chúng, và ACKNOWLEDGE
→ thứ tự gần như FIFO (first-in, first-out)
→ buffer giữa producer và consumer (hấp thụ tải, cho phép bất đồng bộ)
Các thuộc tính chính của queue
DURABLE → queue tồn tại qua việc RESTART broker (định nghĩa queue được lưu lại)
(+ message PERSISTENT → message cũng tồn tại qua restart → durability)
EXCLUSIVE → chỉ dùng bởi một connection; bị xóa khi connection đó đóng
AUTO-DELETE → bị xóa khi consumer cuối cùng ngắt kết nối
TTL → message (hoặc queue) có thể hết hạn sau một thời gian
MAX LENGTH → giới hạn kích thước queue (drop/overflow khi đầy)
→ cấu hình dựa trên nhu cầu durability và vòng đời
