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,那么当它会丢弃生产者发送过来的消息
posted @ 2020-12-02 14:37  蜗牛使劲冲  阅读(15)  评论(0)    收藏  举报  来源