Rabbitmq五种工作模式(五)
目录
一.主题模式(范围转发)
1结构
1.生产端:
依然携带消息绑定具体的路由key
2.交换机:
topic类型的,绑定后端多个队列,但是队列绑定使用的路由key是带有*/#的匹配字符串
3.消费端:
多个绑定一个队列,形成争抢,一个绑定一个队列就是简单结构;
2匹配关系
1.*:
只表示任意一个词语(没有特殊符号的字符串)
2#:
表示任意一串字符串
3.消息的具体路由key:
easymall.product.update,可以根据*,#的逻辑匹配到不同的队列中
*.*.update: easymall.product.update可以匹配,将会被topic的交换机做发送消息到队列,hardmall.user.update,hardmall.cart.update.
easymall.*.*:也可以做匹配
hardmall.#:无法匹配上,可以匹配上所有已hardmall开始的任意级别个数的routingkey,hardmall.haha,hardmall.haha.update.wusuowei
4.代码
代码是路由模式的类 就是传数据按照范围 略 去看看
https://blog.csdn.net/LiuY521/article/details/91047570
应用场景:多级消息发送中,范围处理使用topic;类似快递
总结:
生产端依然携带消息绑定具体的路由key,队列绑定使用的路由key是带有*/#的匹配字符串,消费端多个绑定一个队列,形成争抢,一个绑定一个队列就是简单结构;
五种工作模式总结:
- simple 简单模式
- work 资源争抢
- 以上强调监听的消费端逻辑
- fonout发布订阅 群发
- direct 路由模式,routingKey
- topic 主题模式,多级转发中范围的routingKey匹配