Message queue là kênh giao tiếp bất đồng bộ giữa các service: producer đẩy message vào queue, consumer lấy ra xử lý; message tồn tại tới khi được xử lý.
Lợi ích:
- Decoupling: producer và consumer không phụ thuộc trực tiếp, không cần online cùng lúc.
- Buffering / load leveling: hàng đợi hấp thụ spike, consumer xử lý theo nhịp của mình.
- Resilience: message được giữ lại → retry khi lỗi, không mất việc.
Dùng khi: tách tác vụ nặng khỏi luồng request (gửi mail, xử lý ảnh), làm phẳng traffic đột biến, giao tiếp giữa microservice. Ví dụ: RabbitMQ, Amazon SQS (point-to-point), Kafka (log/stream, throughput cao).