首页 > 其他分享 >RabbitMQ的五种消息模式

RabbitMQ的五种消息模式

时间:2024-10-14 20:11:32浏览次数:7  
标签:多个 队列 模式 五种 RabbitMQ 交换机 路由 消息

一、简单模式(Simple)
最基础的模式,适用于简单的场景,生产者直接向队列发送消息,消费者从监听的队列中获取消息,没有交换机
二、工作队列模式(Work Queues)
实现负载均衡,平摊压力,多个消费者监听同一个队列,队列将消息均匀分配给消费者,同样没有交换机
三、发布/订阅模式(Publish/Subscribe)
使用fanout交换机,交换机与多个队列绑定,多个消费者监听不同的队列,当有一条消息经过fanout交换机,所有消费者都能从不同的队列获得该消息
四、路由模式(Routing)
使用direct交换机,该交换机与队列绑定时,会生成一个或多个指定的路由键,此时生产者发送消息时需携带路由键,交换机会根据路由键将消息发送给包含该路由键的队列,有多个队列满足时则每个队列都能收到,监听这些队列的消费者才能获得消息
五、主题模式(Topics)
使用topic交换机,与路由模式类似,交换机与队列绑定时生成路由键,路由键一般由多个单词组成,使用[ . ]进行连接,如[aa.bb.cc]。与路由模式不同的是,生产者发送消息时携带的路由键可以有通配符,其中[ # ]代表一或多个单词,而[ * ]只代表一个单词,例如:携带的路由键为[ a.# ]则[ a.b.c ]与[ a.c.d ]都会收到消息,携带的路由键为[ a.* ]则[ a.b ]能收到消息,[a.b.c]接收不到消息。

标签:多个,队列,模式,五种,RabbitMQ,交换机,路由,消息
From: https://www.cnblogs.com/superdebu/p/18464925

相关文章

  • 设计模式--Java面试题
    目录什么是设计模式?你是如何理解设计模式的?设计模式的理解:设计模式的分类:如何使用设计模式:面对一个具体问题,你如何决定使用哪种设计模式?一些常见的问题和对应的设计模式:我想了解在实际项目中如何应用设计模式,有没有具体的案例可以分享?解释创建型、结构型和行为型设计模式的区......
  • 设计模式
    什么是设计模式点击查看代码设计模式是一套被反复使用,多数人知晓,经过分类编目,代码设计经验的总结。2.设计模式的七大原则点击查看代码*开闭原则:对扩展开发,对修改封闭*单一职责原则:一个类只负责一个功能领域的相应职责*里氏转换原则:所有引用基类的地方必须能透明......
  • RabbitMQ的五种模式
    一、五种模式详解1.简单模式(Queue模式)当生产端发送消息到交换机,交换机根据消息属性发送到队列,消费者监听绑定队列实现消息的接收和消费逻辑编写.简单模式下,强调的一个队列queue只被一个消费者监听消费.1.1结构生产者:生成消息,发送到交换机交换机:根据消息属性,将消息......
  • 从SQL Server过渡到PostgreSQL:理解模式的差异
    从SQLServer过渡到PostgreSQL:理解模式的差异 从SQLServer过渡到PostgreSQL:理解模式的差异前言随着越来越多的企业转向开源技术,商业数据库管理员和开发者也逐渐面临向PostgreSQL迁移的需求。虽然SQLServer和PostgreSQL共享许多数据库管理系统(RDBMS)的基本概念,但它们在处......
  • gaussdb 基础管理 数据库 表 用户 模式 权限 存储过程
    数据库database#创建数据库,指定字符集UTF8,缺省情况下新数据库将通过复制标准系统数据库template0来创建,且仅支持使用template0来创建。CREATEDATABASEdevdbENCODING'UTF8'template=template0;CREATEDATABASEtestdb;标识符的命名需要遵守如下规范:*标识符需要为......
  • 一键开启无敌模式!小缇娜的奇幻之地:无敌模式/技能立刻冷却/超级跳跃高度
    小缇娜的奇幻之地修改器风灵月影版是一款刺激好玩的第一人称游戏修改器,而且是风灵月影版本,完全免费,可以直接打开使用,非常便捷,十多项功能可以给玩家带来舒适的游戏体验,轻松享受游戏的乐趣,感兴趣的玩家,快来下载小缇娜的奇幻之地修改器风灵月影版吧!修改器地址:https://downfl.y......
  • rabbitmq 新下载链接
    Linux下安装RabbitMQ需要依赖socat和erlang插件环境1插件下载 1.1RabbitMQ下载下载地址一:https://www.rabbitmq.com/download.html下载地址二:https://packagecloud.io/rabbitmq/rabbitmq-server1.2Erlang下载Erlang的版本需要与RabbitMQ的版本匹配版本对应地址如下:http......
  • Nuxt3+PM2集群模式启动及勘误
    起因之前写过一篇Nuxt3的文章,Nuxt3环境变量配置,用到了PM2,但是里面的一些配置存在问题,最近有空又验证了一下,这里做一个勘误。问题PM2的启动配置中有一项是exec_mode,默认是fork,另一个可选值是cluster,fork是单进程模式,cluster是多进程模式,也就是常说的集群模式。最早开始......
  • Seata的AT模式执行流程
    Seata的AT模式是Seata的默认模式。总共分为几步1.登记分支先给每个要参与的服务(分支事务)登记一下,记录下它们是谁,要做什么。2.执行操作每个服务登记好后就开始执行自己的任务,执行前后记下每个服务操作前后的数据状态,以防万一需要回滚。3.检查结果等所有服务都执行完了,TC会......
  • Seata的AT模式的执行流程
    Seata的AT模式:AT模式是Seata的默认模式,也是一种最终一致的分阶段事务模式,在一阶段,Seata拦截业务SQL,解析SQL语义,找到要更新的业务数据,并保存快照数据和行锁‌。简单来说就是看中结果,结果需要符合业务实际逻辑步骤准备undo-log(数据快照),简单说就是建个数据库用于备份数据,谁需要备份......