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

RabbitMQ 队列模式

RabbitMQ 队列模式

1 直接发送模式

不声明Exchange,即采用默认的Exchange。默认的Exchange可以根据routing_key将消息直接发送给特定Queue。

注意:

1) 这种匹配是消息的routing_key与Queue的名字直接进行匹配,而不是与Queue的routing_key。

2) 消息并不能直接发送给queue,这里是经过一个名为''的Exchange进行发送的。

2 工作列队模式

该模型适用于分发资源密集型的任务。假设一下你需要进行10次计算圆周率的操作,每次计算到小数点后n位,每次耗时一个小时

如果只用一台机器计算,需要十个小时。但如果我们将这十个任务分发给十台进行计算,那么只需一个小时。下面的模型就是适用于这种分发任务的。

采用这种模式,列队消息以轮询(round_robin)的方式将消息平均的发给所有与Queue关联的Consumer,一般情况下,每个Consumer都平均的分摊任务。

注意:

1) 在目前的情况下,消息一旦被Consumer取出,就立即从列队中消除。这样当woker执行到任务中途失败时,该任务的信息也丢失了,不能重新开始。

2) RabbitMQ提供一种消息认证机制(message acknowledgments),只有当Consumer返回一个ack时,它才会将消息从列队中删除。如果当Consumer断开连接时,依然没有收到ack,那么它就会重新分发给消息。

3) RabbitMQ不允许以新的属性来重新定义Queue,所以这里我们需要给Queue换个新名子

http://www.xdnf.cn/news/908389.html

相关文章:

  • CRM管理软件的审批流程设计与优化:提升企业运营效率的关键策略
  • DLL动态库实现文件遍历功能(Windows编程)
  • 浅谈不同二分算法的查找情况
  • hot100 -- 8.二叉树系列
  • 3D Web轻量化引擎HOOPS Communicator的定制化能力全面解析
  • LlamaIndex 工作流简介以及基础工作流
  • Linux驱动:class_create、device_create
  • java面试场景题:电商平台中订单未⽀付过期如何实现⾃动关单
  • 本地部署企业邮箱,让企业办公更安全高效
  • 【51单片机】0. 基础软件安装
  • Blazor-表单提交的艺术:如何优雅地实现 (下)
  • WorldExplorer:基于文本生成的可探索3D虚拟世界
  • 深克隆java对象的方式
  • 基于 openEuler 22.03 LTS SP1 构建 DPDK 22.11.8 开发环境指南
  • Xshell 详细安装与配置教程:从下载到高效使用
  • error: subprocess-exited-with-error【已解决】
  • docker 部署redis集群 配置
  • 【学习笔记】单例类模板
  • 深入理解二叉搜索树:原理到实践
  • libGL error
  • IDEA安装迁移IDEA配置数据位置
  • SQL进阶之旅 Day 19:统计信息与优化器提示
  • 10个成功案例剖析|融质AI创新实践
  • 【多线程初阶】阻塞队列 生产者消费者模型
  • Python备忘
  • CST人工电源网络阻抗计量校准
  • Python打卡训练营学习记录Day46
  • Arch-hyprland常用配置
  • 【Algo】常见组合类数列
  • 在centos7.9重置qcow2 root密码-qcow2忘记密码