Trong RabbitMQ, một connection là một kết nối TCP đến broker, trong khi một channel là một kết nối ảo nhẹ trong một connection. Dùng channel đúng cách (thay vì nhiều connection) là quan trọng cho hiệu quả và là một best practice phổ biến.
Connection vs channel
CONNECTION → một kết nối TCP đến RabbitMQ broker:
→ tương đối NẶNG (một kết nối mạng thực, với overhead để thiết lập/duy trì)
CHANNEL → một kết nối ảo, nhẹ được GHÉP KÊNH trên một kết nối TCP duy nhất:
→ nhiều channel chia sẻ một connection → nhẹ; hầu hết các thao tác xảy ra trên channel
→ publishing, consuming, khai báo queue → được thực hiện qua channel
→ một connection có thể có NHIỀU channel (ghép kênh giảm overhead TCP)
