Docs học tập
Backend nền tảng

G5 · Message Queue và Event Stream

Message Queue: point-to-point, message bị xóa sau khi tiêu thụ (RabbitMQ, Amazon SQS).

G5 · Middle · cốt lõi

Queue: hộp thư – thư được một người lấy đọc rồi mất. Stream: bảng tin – ai cũng đọc được, đọc lại được, tin còn lưu lâu.

Cốt lõi

  • Message Queue: point-to-point, message bị xóa sau khi tiêu thụ (RabbitMQ, Amazon SQS).
  • Event Stream: log lưu lâu dài, nhiều consumer, có thể replay (Kafka, Kinesis).

Đánh đổi

Cả hai giúp tách rời (decoupling), buffering. Cần replay/nhiều bên đọc → Stream.

Trong thực tế

SQS làm hàng đợi đơn hàng Amazon; Kafka cho activity log.

Bug thường gặp

Consumer xử lý xong nhưng chết trước khi ack → message được giao lại, email gửi hai lần (consumer cần idempotent).

Tự hỏi lại

Dead Letter Queue là gì? Xử lý message trùng (at-least-once) thế nào?

On this page