RabbitMq 以及 AMQP中高频出现的一个词 channel,先摘抄一些其它博主的channel相关文章。
channel的概念陈述的帖子
此文理解为AMQP提出了Channel概念,多个channel可以复用同一个tcp链接。
不同channel之间相互隔离,每个channel都拥个自己的channelId。channel依赖于connection,到那个connection关闭时,channel关闭。
此文更详细的介绍了channel的概述:在RabbitMq中,channel表示逻辑连接或者叫虚拟连接,是棣属于TCP连接的。一个TCP连接里可以创建多个channel,在Rabbit MQ里,消息的发送和接收都是基于channel的。
channel不是线程安全的针对这种不安全,可以用全局锁、一个线程一个channel、每次线程使用时从channel池中拿【?原作者还对这块做了更多的案例解析,需要持续整理和理解】
channel 需要做好监控,防止出现打开channel速度高于关闭channel速度的channel泄露问题