请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于channel在模型中的定位有些疑惑

老师,我在你的AMQP协议模型结构中,并没有看到channel的定义,那这个channel该怎么理解,是属于整个模型的哪个部位呢?

1.  是生产者、消费者两者跟Server的连接通道,还是Server或者Virtual host 到exchange的通道,还是exchange到队列的通道,还是所有部位之间的连接通道?

2.  另外,我个人觉得这个channel跟Netty中的channel理解有点类似,都是数据传输通道,这两者可不可以理解为同一个概念的东西?

3.  Netty中的channel会传到pipline中的handler进行处理,处理后的结果再传递给消费者,咱RabbitMQ中的channel是否也可以做类似操作?

正在回答 回答被采纳积分+3

2回答

mongo_m 2018-10-11 19:42:55

此评论被删除。

0 回复 有任何疑惑可以回复我~
阿神 2018-08-15 23:43:48

1 不要混淆netty,mq和netty没关系,你可以理解exchange就是交换机路由的组件,生产者把消息投递到exchange后,通过路由规则去把消息传递到指定的队列
2 netty里面channel是我们网络通信的管道,可以理解为类似mq的管道,就是用来链接各个服务用于数据通信的,netty相对底层一些,是面向网络通信级别的封装,而mq是中间件,相当于mq的通信底层也可选择netty,比如rocketmq底层就是使用netty去通信的,自定义协议栈,header是序列号的json格式,body则为二进制消息体。后面我会推出rocketmq的课程,希望多多支持

0 回复 有任何疑惑可以回复我~
  • 提问者 Echo鑫 #1
    老师,那可不可以理解生产者向server发送请求,和消费者从队列里获取数据就是通过channel发送的?还是理解为MQ中的各个层次之间的通信都是通过channel?
    回复 有任何疑惑可以回复我~ 2018-08-16 08:01:48
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信