RabbitMQ的5种模式

队列截图,去rabbitMq.com去找学习文档

=============================================================================================================================

 

 ==============================================================================================================================

 第一种模式:简单模式

 缺点:没有实现解耦,比如说购物车和搜索,需要创建两个队列

=================================================================================================================================

 第二种模式:work模式

 

 上图注意:只能有一个消费者获取到消息;谁先拿到呢?靠争抢,哪个争抢到给哪个.

 应用场景:

比如说现在有一个系统,这个系统作用是写数据到数据库,但是你想如果其他系统都去访问这个系统的话,就会导致本系统的压力变大,

解决这个问题:做一个集群,做写入数据到数据库这件事情,这两个系统做的是同一件事情,他们写数据时不能重复写入数据,其他系统调用这个系统时就可以看做是给他下发任务.做的是不同的事情.

===================================================================================================================================

消息的确认模式

 

 自动确认:例如美团消费,只要消息拿走,不管使用出不出错,就算消费成功

手动确认:顾客使用的优惠券需要商家确认后才算消费成功

==========================================================================================================================

第三种:发布订阅模式(交换机第一种)

 将消息发送到了交换机,然后上下两个队列绑定到了交换机,然后消息发送到队列,每个队列有一个消费者

 

 结果:发一个消息能够通知多个消费者

 ===========================================================================================================================

第四种模式:路由模式(routing)(交换机第二种)

 

 

 

 交换机类型type=direct路由模式

消费者一:队列一绑定到交换机时指定了一个路由key叫error

消费者二:指定了三个

如果现在发送error的消息,消费者一和消费者二都能拿到

如果发送info消息,只有消费者二能拿到;

通过图示可以看出,有选择性的来接收消息

 ===================================================================================================================================

第五种:主题模式(交换机第三种)

 

 #:匹配一个或者多个词

*:匹配一个词

通配符模式比较路由模式:

改进:可以匹配key

仔细看上图!!!

 

posted @ 2019-11-19 16:40  Curedfisher  阅读(609)  评论(0编辑  收藏  举报