1. 开发中消息队列通常有如下应用场景 :
1)任务异步处理。将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。
2)应用程序解耦合MQ相当于一个中介,生产方通过MQ与消费方交互,它将应用程序进行解耦合。
2.rabbitmq的工作原理
RabbitMQ的基本结构
组成部分说明如下:1.Broker:消息队列服务进程,此进程包括两个部分:Exchange和Queue。2.Exchange:消息队列交换机,按一定的规则将消息路由转发到某个队列,对消息进行过虑。3.Queue:消息队列,存储消息的队列,消息到达队列并转发给指定的消费方。4.Producer:消息生产者,即生产方客户端,生产方客户端将消息发送到MQ。5.Consumer:消息消费者,即消费方客户端,接收MQ转发的消息。6.channel:可以理解为一次通话!
消息发布接收流程:1.生产者和Broker建立TCP连接。2.生产者和Broker建立通道。 3.生产者通过通道消息发送给Broker,由Exchange将消息进行转发。4.Exchange将消息转发到指定的Queue(队列)
接收消息流程:1、消费者和Broker建立TCP连接2、消费者和Broker建立通道3、消费者监听指定的Queue(队列)4、当有消息到达Queue时Broker默认将消息推送给消费者。5、消费者接收到消息。