RabbitMQ

RabbitMQ Message Broker

Message broker theo chuẩn AMQP: producer gửi message vào exchange, broker định tuyến linh hoạt qua binding & routing key tới đúng queue. Phù hợp cho task queue, RPC và event — kèm cơ chế ack, durable, DLX để không mất message.

4
Bài học
AMQP
Giao thức
4 loại
Exchange
DLX+Ack
Tin cậy
Lộ trình 4 bài
Bài 1
Khái niệm cốt lõi
RabbitMQ là gì, luồng Producer → Exchange → Queue → Consumer, connection/channel/message/queue/ack, và so sánh RabbitMQ với Kafka.
AMQPQueuevs Kafka
Bài 2
Exchanges & Routing
4 loại exchange (direct, fanout, topic, headers), binding key vs routing key, default exchange, và pattern định tuyến với * và #.
directfanouttopicheaders
Bài 3
Độ tin cậy
Durable queue, persistent message, publisher confirms, manual ack/nack, prefetch QoS, Dead Letter Exchange, TTL và mẫu retry quay vòng.
AckDurableDLXTTL
Bài 4
Lab thực hành
Chạy RabbitMQ bằng Docker kèm management UI, cài pika, viết producer.py & consumer.py cho Work Queue, ví dụ Pub/Sub fanout và bài tập.
DockerpikaWork Queue
3 ý cốt lõi phải nhớ
Gửi vào Exchange, không gửi thẳng Queue
Producer không bao giờ gửi message trực tiếp vào queue. Nó publish vào một exchange — exchange mới là nơi quyết định message đi đâu.
Exchange + binding + routing key
Bộ ba này quyết định message vào queue nào: queue bind vào exchange với một binding key, producer gửi kèm routing key, broker so khớp.
Ack + durable + persistent
Manual ack, queue durable và message persistent (delivery_mode=2) cùng nhau bảo đảm không mất message dù consumer hay broker chết.