【我们一起来学 RabbitMQ 一 】RabbitMQ 的基本介绍
嗨,大家好,我是小魔童哪吒,咱们从今天开始进入开源组件的学习,一边学习一边总结一边分享
文章提纲如下:
- RabbitMQ 简单介绍及使用
- RabbitMQ 的六种工作模式
本次文章不涉及编码,编码咱们统一放在下一次
RabbitMQ 简单介绍
RabbitMQ 是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。
AMQP 是什么?
高级消息队列协议
,它使得遵从该规范的客户端应用和消息中间件服务器的全功能互操作成为可能
客户端应用可以通过这个协议与消息代理和它实现的 AMQP
模型进行交互通信
MQ 是什么?
全称 Message Queue
, 即消息总线
是一种跨进程、异步的通信机制
用于上下游传递消息,由消息系统来确保消息的可靠传递。
RabbitMQ 一般使用在什么场景?
- 错峰流控
- 保证数据的最终一致性
- 上下游逻辑解耦
- 具体的使用场景与下面说到的
RabbitMQ
的六种工作模式息息相关
RabbitMQ 组件中都包含了啥?
- 消费者
可以订阅某个队列
- 生产者
创建消息,然后发布到队列中(queue),最终将消息发送到监听的消费者
Broker:
一个实体,用于标识消息队列服务器
Virtual Host
虚拟主机
标识一批交换机、消息队列和相关对象
虚拟主机是共享相同的身份认证和加密环境的独立服务器域
每个vhost
本质上就是一个mini版的RabbitMQ
服务器,拥有自己的队列、交换器、绑定和权限机制
Exchange