date
Jul 10, 2024
slug
rabbit-mq
status
Published
tags
NodeJs
summary
Tìm hiểu chung về Queue
type
Post
- Những khái niệm cơ bản trong RabbitMQ
- Producer: Ứng dụng gửi message.
- Consumer: Ứng dụng nhận message.
- Queue: Lưu trữ messages.
- Message: Thông tin truyền từ Producer đến Consumer qua RabbitMQ.
- Connection: Một kết nối TCP giữa ứng dụng và RabbitMQ broker.
- Channel: Một kết nối ảo trong một Connection. Việc publishing hoặc consuming từ một queue đều được thực hiện trên channel.
- Exchange: Là nơi nhận message được publish từ Producer và đẩy chúng vào queue dựa vào quy tắc của từng loại Exchange. Để nhận được message, queue phải được nằm trong ít nhất 1 Exchange.
- Binding: Đảm nhận nhiệm vụ liên kết giữa Exchange và Queue.
- Routing key: Một key mà Exchange dựa vào đó để quyết định cách để định tuyến message đến queue. Có thể hiểu nôm na, Routing key là địa chỉ dành cho message.
- AMQP: Giao thức Advance Message Queuing Protocol, là giao thức truyền message trong RabbitMQ.
- User: Để có thể truy cập vào RabbitMQ, chúng ta phải có username và password. Trong RabbitMQ, mỗi user được chỉ định với một quyền hạn nào đó. User có thể được phân quyền đặc biệt cho một Vhost nào đó.
- Virtual host/Vhost: Cung cấp những cách riêng biệt để các ứng dụng dùng chung một RabbitMQ instance. Những user khác nhau có thể có các quyền khác nhau đối với vhost khác nhau. Queue và Exchange có thể được tạo, vì vậy chúng chỉ tồn tại trong một vhost.