Acknowledgment (ack) báo cho RabbitMQ rằng một message đã được xử lý thành công, để nó có thể được xóa khỏi queue. Chúng thiết yếu cho phân phối đáng tin cậy — đảm bảo message không bị mất nếu một consumer thất bại.
Cách acknowledgment hoạt động
Khi một consumer nhận và xử lý một message, nó ACKNOWLEDGE message đó:
→ ACK → "Tôi đã xử lý message này" → RabbitMQ xóa nó khỏi queue
→ nếu một consumer CHẾT trước khi ack (crash, ngắt kết nối) → RabbitMQ ĐƯA LẠI message VÀO QUEUE
→ phân phối lại đến một consumer khác (KHÔNG mất)
→ ack đảm bảo message được xử lý đáng tin cậy (không mất nếu một consumer thất bại)
