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

G7 · RabbitMQ và Kafka

Loại: RabbitMQ = smart broker; Kafka = log.

G7 · Nâng cao

RabbitMQ: bưu tá thông minh, tự mang thư đến tận tay. Kafka: kho lưu trữ khổng lồ, bạn tự đến lấy.

Cốt lõi

  • Loại: RabbitMQ = smart broker; Kafka = log.
  • Delivery: RabbitMQ push; Kafka pull. Độ trễ: RabbitMQ thấp (µs–ms); Kafka cao hơn chút.
  • Throughput: RabbitMQ trung bình; Kafka rất cao (triệu msg/giây).
  • Replay: RabbitMQ không; Kafka có. Thứ tự: theo queue vs theo partition.

Đánh đổi

RabbitMQ → tác vụ, RPC, job cần độ trễ thấp. Kafka → streaming, phân tích, event sourcing.

Trong thực tế

RabbitMQ làm hàng đợi task Celery cho email.

Bug thường gặp

Không cấu hình Dead Letter Queue → một message lỗi được retry vô hạn, chặn cả hàng đợi.

Tự hỏi lại

Cần xử lý đúng một lần (exactly-once) thì làm sao?

On this page