我们于2021/09/09 的学习目标是:RabbitMQ,核心任务为:
1、学习技术:
1)、RabbitMQ简介
2)、RabbitMQ相关术语
3)、RabbitMQ队列分类
2、文档总结
1)、RabbitMQ简介
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
特点:
- 基于AMQP协议
- 高并发(是一个容量的概念,服务器可以接受的最大任务数量)
- 高性能(是一个速度的概念,单位时间内服务器可以处理的任务数)
- 高可用(是一个持久的概念,单位时间内服务器可以正常工作的时间比例)
- 强大的社区支持,以及很多公司都在使用
- 支持插件
- 支持多语言
2)、RabbitMQ相关术语
Producer:发送消息的程序
Queue:一个消息盒子的名称,作为消息的中间缓存。
Consumer:消费者,等待接收消息的程序
Connection:RabbitMQ的socket连接
ConnectionFactory是Connection的制造工厂。
Channel 是我们与RabbitMQ打交道的最重要的一个接口,我们大部分的业务操作是在Channel这个接口中完成的,包括定义 Queue 、定义 Exchange 、绑定 Queue 与Exchange 、发布消息等。
3)、RabbitMQ队列分类
- 简单模式队列
- 工作模式队列
- 消息的发布与订阅模式队列
- 路由模式队列
- 主题模式队列
- 远程过程调用模式队列