RabbitMQ的设计完全依据高阶消息队列协议( Advanced Message Queuing Protocol,AMQP)
在AMQP中,实时数据处理的流程抽象为以下三个成分
消费生产者(Producer)消息中介(Message Broker)数据消费者(Consumer)
RabbitMQ主要构成部分:
消息(Message)RabbitMQ队列中存在的数据的基本单元。
消息有以下几个部分组成
消息负载(可以是任何二进制数据,如JSON、Thrift等结构化数据包)。
路由名 消息到达RabbitMQ之后应该被送到哪一条队列?通过路由名确定。
投递保证 设置有投递保证的消息会存储到RabbitMQ服务器的硬盘中。
消息队列 RabbitMQ中进行消息存储、读取的基本原件
消息连接
RabbitMQ往往是以一个分布式消息集群的形式存在于一个系统中的,其他使用者需要通过网络连接的方式与之对接。
消息交换中心
一条消息到达RabbitMQ服务器之后,是如何分配到各个消息队列。这个重要的任务由消息交换中心完成。
常用交换中心模式
直连式
扇形结构
话题结构
报头结构
消息传到设计模式
任务队列
发布、监听
远程命令
利用docker快速部署rabbitmq
docker run -d -p 5672:5672 -p 15672:15672 -e "RABBITMQ_DEFAULT_USER=test" -e "RABBITMQ_DEFAULT_PASS=test" rabbitmq:3-management
分别开放了服务端口5672和管理页面端口15672
网友评论