rabbitMq精简基本认识
参考:https://www.cnblogs.com/dwlovelife/p/10982735.html
consumer肯定是持续订阅消费的,区别就是发布者发布的exchange类型不同导致消息到的queue不同,不管direct,topic 使用routing key绑定关联关系,还是fanout绑定和订阅关联关系
生产端
创建connect信道
创建channel会话
在channel里将exchange,routingkey和ms绑定并发布在队列queue里
消费端
创建connect
创建channel会话
声明特定的交换机
声明一个新队列queue
在channel里将队列和exchange,routingkey绑定关系
循环取出消息
exchange类型
- direct:routingkey完全一致
- fanout:订阅模式,忽略route key,只播放给所有有绑定的queue发消息,广播发布,最快
- topic:利用routingkey的正则"#“和”*"来匹配,是direct的升级版
tip:
- 每个channel代表每个会话任务,多个channel信道可以共用一个TCP连接
- RoutingKey是生产者发送给交换机的,然后交换机通过这个与Queue的bindingKey匹配到
- 如果一个exchange没有binding任何Queue,那么当它会丢弃生产者发送过来的消息
本文作者:蜗牛使劲冲
本文链接:https://www.cnblogs.com/warrenwt/p/18074555
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步