RabbitMQ消息分发机制

RabbitMQ的工作原理

在RabbitMQ中生产者与MQ之间存在连接,一个连接中可以用很多信道,连接Broker,这里可以理解为实体服务器,每个Broker中又有很多虚拟主机,每个虚拟主机中存在很多交换机,交换机可以和队列进行绑定进行消息分发,消费者通过消费队列中的消息进行信息处理。如下图所示

RabbitMQ消息分发机制_第1张图片

而消息分发又存在以下几种方式
rabbitmq exchange有四种类型:fanout、direct、topic、headers。

fanout 类型

fanout 类型:类似于广播,群发。接收到的消息,会分发给所有绑定的队列。

RabbitMQ消息分发机制_第2张图片

direct 类型

direct类型:交换机通过路由键(RoutingKey)传递消息。

RabbitMQ消息分发机制_第3张图片

topic 类型

topic 类型:通过模糊查询进行匹配,其中.作为分隔符,*为单个单词通配,#为多个单词通配。

RabbitMQ消息分发机制_第4张图片

header 类型

headers 类型:消息生产者发送消息时,指定headers(键对值形式),队列和 Exchange 绑定时指定headers的匹配形式。

AMQP协议

AMQP(Advanced Message Queuing Protocol)高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。

RabbitMQ消息分发机制_第5张图片

RabbitMQ整体架构图

RabbitMQ消息分发机制_第6张图片

你可能感兴趣的:(java-rabbitmq,rabbitmq,java)