当前位置: 首页 > news >正文

桂林建设银行招聘网站广州网站排名优化服务

桂林建设银行招聘网站,广州网站排名优化服务,广州制片公司网站,中信建设有限责任公司重庆沿江高速公路总承包部RabbitMQ 是一个消息代理系统,使用交换机(Exchange)、队列(Queue)和路由键(Routing Key)来管理消息的传递。它们分别起到不同的作用,构成了消息从生产者到消费者的传递路径。 以下是…

RabbitMQ 是一个消息代理系统,使用交换机(Exchange)、队列(Queue)和路由键(Routing Key)来管理消息的传递。它们分别起到不同的作用,构成了消息从生产者到消费者的传递路径。

以下是详细的解释:

1. 交换机(Exchange)

作用

交换机负责接收来自生产者的消息,并根据一定的路由规则将消息分发给一个或多个队列。它是生产者和队列之间的中间层,生产者永远不会直接将消息发送到队列,而是通过交换机。

种类

RabbitMQ 中有几种类型的交换机,每种交换机的消息路由行为都不同:

  • Direct(直连交换机):根据精确匹配路由键(Routing Key)来将消息转发到绑定了相同路由键的队列。
  • Fanout(扇出交换机):不处理路由键,直接将消息广播给绑定到该交换机的所有队列。类似广播机制。
  • Topic(主题交换机):根据路由键的模式匹配(可以使用通配符)将消息路由到符合条件的队列。
  • Headers(头交换机):根据消息的 headers(头部信息)属性来路由,而不是使用路由键。
作用场景

交换机的主要作用是 决定消息应该被发送到哪些队列,每种交换机的类型决定了消息的路由逻辑。


2. 队列(Queue)

作用

队列是消息的实际存储位置。消息被发送到队列后,消费者从队列中取出并处理。队列中的消息按照 先进先出(FIFO) 的顺序被消费者处理。

  • 队列是点对点通信的终点,消费者从队列中拉取消息并处理,每个消息只会被一个消费者处理(除非有特别的广播机制)。
  • 消息可以在队列中持久化(持久化队列),即使 RabbitMQ 服务器重启,消息仍然会保存在队列中。
作用场景

队列的作用是 存储和传递消息。消息在队列中被保存,直到消费者来获取和处理消息。队列可以支持多种消费者,并且保证消息被处理一次且仅一次。


3. 路由键(Routing Key)

作用

路由键是生产者在将消息发送给交换机时提供的一个字符串,用来指定消息的路由路径。交换机会根据路由键的内容,决定该消息应该发送到哪些队列。

  • Direct 交换机 中,路由键用于精确匹配。例如,路由键 task_queue 只会将消息发送到绑定了 task_queue 路由键的队列。
  • Topic 交换机 中,路由键可以使用通配符进行模糊匹配。例如,device.* 可以匹配 device.datadevice.status,但 device.# 可以匹配多个词。
作用场景

路由键的作用是 指定消息传递路径。交换机会根据路由键将消息发送到符合条件的队列。


三者的区别和作用总结

名称作用和功能角色区别
交换机(Exchange)接收生产者的消息并根据路由键将消息发送到一个或多个队列。交换机本身不保存消息,只负责转发消息。中间人决定消息如何分发到不同的队列
队列(Queue)用于存储消息,等待消费者来处理。消费者从队列中拉取消息进行处理。队列是消息的最终接收点,消息只能在队列中被消费一次。消费者终点存储和传递消息
路由键(Routing Key)生产者指定的一个字符串,用来决定交换机如何将消息路由到队列。路由键可以是精确匹配或模糊匹配(使用通配符)。消息路由控制决定消息走向哪些队列

三者之间的关系:

  1. 生产者(Producer):向 交换机 发送消息,并指定一个 路由键
  2. 交换机(Exchange):根据绑定的规则和 路由键,将消息转发到合适的 队列
  3. 队列(Queue):消息最终到达 队列,并等待消费者取出并处理。
  4. 消费者(Consumer):从队列中取出消息进行处理。

流程示例:

假设我们有以下 RabbitMQ 配置:

  • 交换机:task_exchange(类型为 Direct)。
  • 队列:task_queue
  • 路由键:task.new.
消息传递过程:
  1. 生产者发送一条消息到 task_exchange,并指定路由键为 task.new
  2. task_exchange 交换机会检查是否有队列绑定了 task.new 路由键。
  3. 如果 task_queue 队列绑定了 task.new 路由键,交换机会将消息发送到 task_queue
  4. 消费者从 task_queue 中拉取消息并进行处理。

这个流程说明了交换机、队列和路由键之间如何协同工作来完成消息的路由和处理。


常见应用场景:

  1. Direct 交换机

    • 用于精确匹配路由键的场景,比如不同的任务类型对应不同的队列,确保消息到达正确的队列。
  2. Fanout 交换机

    • 广播消息给多个消费者,常用于发布/订阅模式,比如推送系统消息给所有消费者。
  3. Topic 交换机

    • 适用于需要根据复杂模式路由消息的场景,比如日志系统,路由键可以根据日志级别(如 errorinfo)路由到不同的队列。

http://www.yayakq.cn/news/59244/

相关文章:

  • 做网站 node phpwordpress外链略缩图
  • 之前做的网站推广怎么删除成都住建局官网网上办事大厅
  • org域名做网站做外贸面料哪个网站可以接单
  • 游戏源码网站免费自己做网站设计制作
  • 淄博网站建设公司推荐智慧政务门户网站建设
  • 恒通建设集团有限公司网站渭南 网站集约化建设
  • 建手机网站怎么收费线上宣传方式
  • 网站说明书的详细说明wordpress文章列表添加字段
  • 莱芜装修网站微信网站是多少
  • 西安网站seo 优帮云做视频网站需要什么软件有哪些
  • 网站访问量来源施工企业资质承包范围
  • 网站更名策划方案免费google账号注册入口
  • 网站建设开发计入什么会计科目长沙哪个平台做网站好
  • 建设银行网站多少关于网站建设的求职意向
  • 设计师网站崩了新闻发布网站建设实训小结
  • 网站维护中 页面网站框架设计图
  • 艾纳网站建设深圳做微信网站
  • frontpage网站模板下载wordpress 上传错误
  • 蒙自做网站的公司有什么网站可以做编程题
  • 新乡河南网站建设展台设计展会展位设计
  • 做网站怎样做才有百度快照苏州网站制作价格
  • 网站seo优化是什么意思系统开发网站
  • html网站设计作品wordpress 判断页面名称
  • 哪个网站的体验做的最好东莞网站建设兼职
  • 厦门网站专业建设二手车网站开发过程
  • 集团网站建设特色在线制作gif
  • 有没有做网站的广州品牌设计
  • 河南生产型企业网站建设自己动手建设网站
  • 房产中介 网站开发上海如何做网站
  • 东莞网站搭建哪里好温州自助建站公司