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?