Cơ BảnRabbitMQ iconRabbitMQ

Connection và channel trong RabbitMQ khác nhau như thế nào?

Connection là một TCP socket giữa ứng dụng và RabbitMQ broker.

  • Channel là "kết nối ảo" nhẹ, chạy multiplexed trên một TCP connection — bạn mở một connection duy nhất nhưng tạo nhiều channel trên đó để tránh overhead của nhiều TCP connection.
  • Mỗi channel hoạt động độc lập, gửi/nhận trên các queue khác nhau, rất hiệu quả cho ứng dụng multi-threaded.
  • Best practice: dùng lại một connection với nhiều channel thay vì liên tục tạo connection mới.

Xem toàn bộ RabbitMQ cùng filter theo level & chủ đề con.

Mở danh sách RabbitMQ