赞
踩
MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。
1、任务异步处理。
将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。
2、应用程序解耦合
MQ相当于一个中介,生产方通过MQ与消费方交互,它将应用程序进行解耦合。
一个生产者,一个消费者。生产者将消息放入队列。消费者监听队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列删除。
应用场景:
聊天。
一个生产者,多个消费者,每个消费者获取到的消息唯一。生产者将消息放入队列。多个消费者同时监听同一个队列。谁先拿到消息,谁来负责消费。
应用场景:
红包
一个生产者发送的消息会被多个消费者获取。生产者将消息交给交换机。交换机根据发布订阅的模式设定将消息同步到所有的绑定队列中。后端的消费者都能拿到消息。
应用场景:
群聊天,广告。
发送消息到交换机并且要指定路由key ,消费者将队列绑定到交换机时需要指定路由key。生产者发送消息到交换机,同时绑定一个路由Key。交换机根据路由key对下游绑定的队列进行路由key的判断,满足路由key的队列才会接收到消息,消费者消费消息。
应用场景:
项目中的error报错。
将路由键和某模式进行匹配,此时队列需要绑定在一个模式上,“#”匹配一个词或多个词,“*”只匹配一个词。
与routing路由模式一致。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。