![c19f54f4a302a640e9aac19f11a06505.png](https://i-blog.csdnimg.cn/blog_migrate/7ab565cd7d09b330ef19e740b9870dca.png)
点击上方蓝字关注并置顶公众号,每天第一时间获取最新干货知识
![b25ec3fd3e37820f7f8f1ee272f0e289.png](https://i-blog.csdnimg.cn/blog_migrate/de18e88d25b72794e74285f60bae91a0.png)
![64ae85d9d6eca7c836b78135c7699278.png](https://i-blog.csdnimg.cn/blog_migrate/acdcd36607815ec894680e8b44178eed.png)
前言
![0d1cec29553c28a298122118fede1dbd.png](https://i-blog.csdnimg.cn/blog_migrate/4f2c5b990fa26cb36fdb018381dc5536.png)
每个消息队列都有自己的消息模式,我个人感觉rabbitmq的最好理解。分分钟明白是干啥的。其他的真JB听的一头雾水。不想吐槽了。rabbitmq真香!!!
![5147b92c3bc439a770bb255179c90687.png](https://i-blog.csdnimg.cn/blog_migrate/32091679353ab0c19334d7a9f8ae05e3.png)
1.简单模式
![d0f2fd0ee5f13659db8984698316d9c1.png](https://i-blog.csdnimg.cn/blog_migrate/1cd70b0860c43065d1be5f8c3d248126.png)
简单模式就是我们的生产者将消息发到队列,消费者从队列中取消息,一条消息对应一个消费者
![64ae85d9d6eca7c836b78135c7699278.png](https://i-blog.csdnimg.cn/blog_migrate/acdcd36607815ec894680e8b44178eed.png)
2.工作模式
![0d1cec29553c28a298122118fede1dbd.png](https://i-blog.csdnimg.cn/blog_migrate/4f2c5b990fa26cb36fdb018381dc5536.png)
Work模式就是一条消息可以被多个消费者尝试接收,但是最终只能有一个消费者能获取
![64ae85d9d6eca7c836b78135c7699278.png](https://i-blog.csdnimg.cn/blog_migrate/acdcd36607815ec894680e8b44178eed.png)
3.订阅模式
![0d1cec29553c28a298122118fede1dbd.png](https://i-blog.csdnimg.cn/blog_migrate/4f2c5b990fa26cb36fdb018381dc5536.png)
一条消息可以被多个消费者同时获取,生产者将消息发送到交换机,消费者将自己对应的队列注册到交换机,当发送消息后所有注册的队列的消费者都可以收到消息。重点是引入了交换机的概念。
![64ae85d9d6eca7c836b78135c7699278.png](https://i-blog.csdnimg.cn/blog_migrate/acdcd36607815ec894680e8b44178eed.png)
4.路由模式
![0d1cec29553c28a298122118fede1dbd.png](https://i-blog.csdnimg.cn/blog_migrate/4f2c5b990fa26cb36fdb018381dc5536.png)
生产者将消息发送到了type为direct模式的交换机,消费者的队列在将自己绑定到路由的时候会给自己绑定一个key,只有消费者发送对应key格式的消息时候队列才会收到消息。重点是消息队列有对应的key来绑定交换机。
![64ae85d9d6eca7c836b78135c7699278.png](https://i-blog.csdnimg.cn/blog_migrate/acdcd36607815ec894680e8b44178eed.png)
5.Topic模式(就是多了通配符)
![0d1cec29553c28a298122118fede1dbd.png](https://i-blog.csdnimg.cn/blog_migrate/4f2c5b990fa26cb36fdb018381dc5536.png)
![64ae85d9d6eca7c836b78135c7699278.png](https://i-blog.csdnimg.cn/blog_migrate/acdcd36607815ec894680e8b44178eed.png)
6.RPC模式(很少用)
![0d1cec29553c28a298122118fede1dbd.png](https://i-blog.csdnimg.cn/blog_migrate/4f2c5b990fa26cb36fdb018381dc5536.png)
![64ae85d9d6eca7c836b78135c7699278.png](https://i-blog.csdnimg.cn/blog_migrate/acdcd36607815ec894680e8b44178eed.png)
自定义示意图
![0d1cec29553c28a298122118fede1dbd.png](https://i-blog.csdnimg.cn/blog_migrate/4f2c5b990fa26cb36fdb018381dc5536.png)
![64ae85d9d6eca7c836b78135c7699278.png](https://i-blog.csdnimg.cn/blog_migrate/acdcd36607815ec894680e8b44178eed.png)
总结
![0d1cec29553c28a298122118fede1dbd.png](https://i-blog.csdnimg.cn/blog_migrate/4f2c5b990fa26cb36fdb018381dc5536.png)
看图就会明白每个模式是干啥用的。一目了然。不懂的留言。