发布/订阅模式
无选择接收消息,一个消息生产者,一个交换器,多个消息队列,多个消费者。称为发布/订阅模式
简单队列模式和工作模式只能消费同种消息
门户网站,用户在注册完后一般都会发送消息通知用户注册成功(失败)。
如果在一个系统中,用户注册信息有邮箱、手机号,那么在注册完后会向邮箱和手机号都发送注册完成信息(假设都发送)。
利用 MQ 实现业务异步处理,如果是用工作队列的话,就会声明一个注册信息队列。注册完成之后生产者会向队列提交一条注册数据,消费者取出数据同时向邮箱以及手机号发送两条消息。但是实际上邮箱和手机号信息发送实际上是不同的业务逻辑,不应该放在一块处理。
这个时候就可以利用发布/订阅模式将消息发送到转换机(EXCHANGE),声明两个不同的队列(邮箱、手机),并绑定到交换机。这样生产者只需要发布一次消息,两个队列都会接收到消息发给对应的消费者,大致如下图所示。
对于MQ这个不单单的只有RatbbitMQ还有我们包括ActiveMQ(apache公司的),RocketMQ(阿里巴巴公司的,现已经转让给apache)还有我们大数据人员经常接触的kafaka都是我们市面上常见的消息中间件软件,都是大牛开发出来的但是这些软件很容易上手,我的RabbitMQ还是在狂神哪里学习的,对于学习使用一个东西很简单,但是我们市面上这样的人数不胜数,真真的是明白底层原理的人那是少之又少,这样的人才是有竞争力的人,所以为何我们不做一个有竞争力的人呢