消息中间件RabbitMQ学习笔记---RabbitMQ中Connection与Channel的关系

消息中间件RabbitMQ学习笔记—RabbitMQ中Connection与Channel的关系

1.关系简介

  1. 生产者和消费者,需要与RabbitMQ Broker 建立TCP连接,也就是Connection 。
  2. 一旦TCP 连接建立起来,客户端紧接着创建一个AMQP 信道(Channel),每个信道都会被指派一个唯一的ID。
  3. 信道是建立在Connection 之上的虚拟连接, RabbitMQ 处理的每条AMQP 指令都是通过信道完成的。
    在这里插入图片描述

2.为什么不直接使用TCP连接,而是使用信道?

  1. RabbitMQ 采用类似NIO的做法,复用TCP 连接,减少性能开销,便于管理。
  2. 当每个信道的流量不是很大时,复用单一的Connection 可以在产生性能瓶颈的情况下有效地节省TCP 连接资源。
  3. 当信道本身的流量很大时,一个Connection 就会产生性能瓶颈,流量被限制。需要建立多个Connection ,分摊信道。具体的调优看业务需要。
  4. 信道在AMQP 中是一个很重要的概念,大多数操作都是在信道这个层面进行的。

3.总结一下

  1. 右下图可知
  2. TCP连接是java的NIO连接,也就是Connection,代表了应用程序和消息服务器之间的通信链路
  3. 每个信道在进行操作的时候要连接Connection,也就是AMQP的Connection
    在这里插入图片描述
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值