中间件速查手册
消息队列信道

Channel 是什么?

一条 TCP 连接里复用的轻量会话,操作都在它上面做

类比:一根网线里开的多条车道,互不抢道

为什么要它

建立 TCP 连接要三次握手 + AMQP 握手,开销大。Channel 让多条逻辑会话共享一条连接,既省资源又能并发。

使用规则

Channel 不是线程安全的,这是新手最常踩的坑。

  • 每个线程用自己的 Channel,不要跨线程共享
  • 一个 Channel 上不要并发发布消息
  • Channel 数量也有开销,不要每次操作都新建
  • Channel 异常关闭会连带影响该连接上的其他 Channel 吗?不会,但连接断了全都失效

它出现在这些中间件里

相关问题

相关概念