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

来源:2-5 AMQP核心概念讲解

Echo鑫

2018-08-15

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

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

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

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

写回答

2回答

mongo_m

2018-10-11

此评论被删除。

0
0

阿神

2018-08-15

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

0
1
Echo鑫
老师,那可不可以理解生产者向server发送请求,和消费者从队列里获取数据就是通过channel发送的?还是理解为MQ中的各个层次之间的通信都是通过channel?
2018-08-16
共1条回复

RabbitMQ精讲 从0到1驾驭RabbitMQ应用与设计

从0到1,全面深入掌握RabbitMQ消息中间件技术

1460 学习 · 443 问题

查看课程