rabbitMq使用学习笔记
rabbitMq使用学习笔记
rabbitmq的工作原理:
MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message
Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开
发中应用非常广泛。RabbitMQ官方地址:http://www.rabbitmq.com/
开发中消息队列通常有如下应用场景:
1、任务异步处理。
将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理。提高了应用程序的响应时间。
2、应用程序解耦合
MQ相当于一个中介,生产方通过MQ与消费方交互,它将应用程序进行解耦合。
为什么使用RabbitMQ呢?
1、使得简单,功能强大。
2、基于AMQP协议。
3、社区活跃,文档完善。
4、高并发性能好,这主要得益于Erlang语言。
5、Spring Boot默认已集成RabbitMQ
了解amqp和jms
JMS是java提供的一套消息服务API标准,其目的是为所有的java应用程序提供统一的消息通信的标准,类似java的
jdbc,只要遵循jms标准的应用程序之间都可以进行消息通信。它和AMQP有什么 不同,jms是java语言专属的消
息服务标准,它是在api层定义标准,并且只能用于java应用;而AMQP是在协议层定义的标准,是跨语言的 。
组成部分说明如下:
Broker :消息队列服务进程,此进程包括两个部分:Exchange和Queue。
Exchange :消息队列交换机,按一定的规则将消息路由转发到某个队列,对消息进行过虑。
Queue :消息队列,存储消息的队列,消息到达队列并转发给指定的消费方。
Producer :消息生产者,即生产方客户端,生产方客户端将消息发送到MQ。
Consumer :消息消费者,即消费方客户端,接收MQ转发的消息。
消息发布接收流程:
-----发送消息-----
1、生产者和Broker建立TCP连接。
2、生产者和Broker建立通道。
3、生产者通过通道消息发送给Broker,由Exchange将消息进行转发。
4、Exchange将消息转发到指定的Queue(队列)
----接收消息-----
1、消费者和Broker建立TCP连接
2、消费者和Broker建立通道
3、消费者监听指定的Queue(队列)
4、当有消息到达Queue时Broker默认将消息推送给消费者。
5、消费者接收到消息
- RabbitMQ学习笔记3-使用topic交换器
- 使用php-amqplib连接rabbitMQ 学习笔记及总结
- RabbitMQ学习笔记4-使用fanout交换器
- LINUX学习笔记—SAMBA使用篇 smb 文件共享
- JSP学习笔记(四)-----JSP动作的使用
- NetTiers学习笔记05---使用自定义存储过程
- JSP学习笔记(三)-----使用JSP处理用户注册和登陆
- Chap 4 学习笔记-使用C#存储变量数据
- MYSQL学习笔记(5)配置:使用选项文件
- FastSpring学习笔记二(使用工具MyGeneration生成Model和NHibernate的代码 )
- PHP学习笔记(3)----phpmyadmin的安装与使用[原创]
- Chap 4 学习笔记-使用C#存储变量数据
- [ASP.NET学习笔记之二]数据集和数据库的同步-DataAdapter的使用
- Socket网络编程学习笔记(6):使用线程池提高性能
- AJAX 学习笔记(6) 使用W3C DOM动态编辑页面
- 自定义控件学习笔记(5):事件委托列表的使用
- c# override,new关键字区别与使用(学习笔记)
- Asp.net Ajax 学习笔记5 UpdatePanel的使用(下)
- JSP学习笔记(五)-----JSP中使用JavaBean
- .Net学习笔记 - Web页中使用WinForm