Broker:
RabbitMQ本就就是一个MessageBroker
Connection:
publisher/ consumer 和 broker 之间的 TCP 连接
Channel:
如果每一次访问 RabbitMQ 都建立一个 Connection,在消息量大的时候建立 TCP Connection 的开销将是巨大的,效率也较低。 Channel 是在 connection 内部建立的逻辑连接,如果应用程序支持多线程,通常每个 thread 创建单独的 channel 进行通讯, AMQP method 包含了 channel id 帮助客户端和 message broker 识别 channel,所以 channel 之间是完全隔离的。 Channel 作为轻量级的 Connection 极大减少了操作系统建立 TCP connection 的开销
Binding:
Exchange和Queue之间的虚拟连接,Binding中可以包含RoutingKey,Binding信息被保存到Exchange中的查询表中,用于msg的分发依据

本文介绍了RabbitMQ作为一个消息代理的基本概念,包括Connection、Channel的作用,以及如何通过Channel减少TCP连接开销。此外,详细阐述了Exchange和Queue之间的Binding关系,以及RoutingKey在消息分发中的作用。
1560

被折叠的 条评论
为什么被折叠?



