石家庄网站开发哪家好,巨好用企业网站源码,wordpress右侧文章归档,青岛专业网站建设公司排名RabbitMQ 的 Channel、Connection、Queue 和 Exchange 都是按照 AMQP#xff08;Advanced Message Queuing Protocol#xff09;标准实现的。 AMPQ的网络部分
AMQP没有使用HTTP#xff0c;使用TCP自己实现了应用层协议。 AMQP实现了自己特有的网络帧格式。
一个Connection… RabbitMQ 的 Channel、Connection、Queue 和 Exchange 都是按照 AMQPAdvanced Message Queuing Protocol标准实现的。 AMPQ的网络部分
AMQP没有使用HTTP使用TCP自己实现了应用层协议。 AMQP实现了自己特有的网络帧格式。
一个Connection代表着一个TCP连接
服务器和客户端使用Connection过程
建立TCP。协商。通信。关闭连接
一个Connection内部包含多个Channal
Channal是Connection内部的逻辑信道多个Channal使用一个Connection的TCP端口。
AMPQ的消息部分
AMQ Model
主要包含了三个主要的组件
exchange交换器从Publisher程序中收取消息并把这些消息根据一些规则路由到消息队列Message Queue中message queue消息队列存储消息。直到消息被安全的投递给了消费者。binding 定义了 message queue 和 exchange 之间的关系提供了消息路由的规则。 AMQP在这个过程中生产者只能把所有消息发到一个单点交换器而不能直接把消息发到某个消息队列(message-queue)中。 绑定是交换器和消息队列之间的关系告诉交换器如何路有消息。
AMPQ协议的交换器类型
Direct Exchange直接交换器
绑定在direct exchange上的队列都需要设置其路由键当消息到达direct exchange后会根据消息的路由键消息路由键队列绑定在Direct exchange上的路由键转发到队列。 它实现了点对点的消息传递模式。
Fanout Exchange扇形交换器
队列绑定在扇形交换器上。扇形交换器会将收到的消息直接广播到与之绑定的所有队列。 它适用于发布/订阅模式,一传多。
Topic Exchange主题交换器
每个队列绑定到主题交换器上都会设置其路由匹配规则。主题交换器可以根据消息的路由键和队列的绑定键之间的模式匹配规则进行路由。 一个消息到达会尝试所有绑定队列的路由匹配模式如果匹配就路由。
表示一个单词# 表示零个或多个单词。
Headers Exchange头部交换器
头部交换器根据消息的头部属性进行匹配而不是路由键。在绑定时可以指定一个或多个键值对作为匹配规则只有当消息的头部属性和绑定规则完全匹配时消息才会被路由到相应的队列。它适用于根据消息的元数据属性进行路由的场景。