RabbitMQ中BasicGet与BasicConsume的区别
在RabbitMQ中消费者有2种方式获取队列中的消息:
a) 一种是通过basic.consume命令,订阅某一个队列中的消息,channel会自动在处理完上一条消息之后,接收下一条消息。(同一个channel消息处理是串行的)。除非关闭channel或者取消订阅,否则客户端将会一直接收队列的消息。
b) 另外一种方式是通过basic.get命令主动获取队列中的消息,但是绝对不可以通过循环调用basic.get来代替basic.consume,这是因为basic.get RabbitMQ在实际执行的时候,是首先consume某一个队列,然后检索第一条消息,然后再取消订阅。如果是高吞吐率的消费者,最好还是建议使用basic.consume。
简单总结一下就是说:
consume是只要队列里面还有消息就一直取。
get是只取了队列里面的第一条消息。
因为get开销大,如果需要从一个队列取消息的话,首选consume方式,慎用循环get方式。
RabbitMQ中BasicGet与BasicConsume的区别相关推荐
- java 队列和rabbitmq_java – 如何在不使消息出列的情况下浏览rabbitmq中的队列
我正在尝试获取具有特定相关ID的消息,如rabbitmq docs中所述.但是我看到无关的消息被出列了.我不希望它发生.在得到消息后,我怎么能告诉rabbitmq没有出队,并且知道这不是我想要的那个. ...
- RabbitMQ中的cluster、mirrored queue,以及 warrens机制、RAM node、disk node及vhost介绍
1.RAM node和disk node的区别? RAM node仅将fabric(即queue.exchange和binding等RabbitMQ基础构件)相关元数据保存到内存中,但disk nod ...
- Rabbitmq中常用的五种连接方式
目录 前提准备 方式一: Hello World 服务端(provider)代码 客户端(customer)代码 方式二: work(以下方式都是通过工具类来创建connection对象) 有两种方 ...
- 深入理解RabbitMQ中的prefetch_count参数
目录 prefetch_count参数的含义 RabbitMQ客户端中prefetch_count源码跟踪 prefetch_count参数使用 prefetch_count参数最佳实践 小结 pre ...
- python中break和continue的区别
python中break和continue的区别 break 结束for 或者while 循环 后面还没循环到的 不再循环 continue 当满足某种条件时结束当前值的循环 后面没有循环的继续循环 ...
- java中separator_java - File.separator和路径中的斜杠之间的区别
java - File.separator和路径中的斜杠之间的区别 在Java Path-String中使用/和普通的File.separator有什么区别? 与双反斜杠相比,/平台独立似乎不是原因, ...
- PHP中self和static的区别,php中self与static的区别
原文链接,猛击这里. php中self与static的区别 通过一些示例,我们可以很容易看出self和static的区别.假定我们有class Car – 它有两个方法,model和getModel. ...
- php 抽象类 接口 区别,PHP中抽象类、接口的区别与选择分析
本文实例分析了PHP中抽象类.接口的区别与选择.分享给大家供大家参考,具体如下: 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过 ...
- php $this self,php中self与$this的区别
学习php中self与$this的区别. 先来看下parent与self的例子: /* * parent与self的区别 * by www.jbxue.com */ class A{ function ...
最新文章
- UI培训分享:如何成为一名优秀的UI设计师
- 微软Google思科宣布将资助OpenSSL等开源项目
- JavaScript 数据去重的常用几种方法
- 数据增量更新定义_封面数据 | 爬虫技术与应用
- 大型分布式网站架构设计与实践 第一章《面向服务的体系架构(SOA)》
- spring中AOP动态代理的两种方式
- SQL Server 取日期时间部分
- 北理计算机网络实验汇编,北理计算机与网络实验(II)(汇编语言实验4).docx
- Cacti添加IO模板并监控磁盘IO
- xUtils项目框架
- 《Spring Boot官方指南》28.安全
- python魔法属性_python魔法方法-属性转换和类的表示详解
- WIN2008R2激活工具
- 最新楚琳web打印控件下载 - 2019适配所有浏览器
- aip格式转化为pdf,catia的三维图转PDF格式咋弄
- 生成1-100随机数并进行猜测
- 苹果市场金融类app上架ios1.2 ,5.2.1或3.21被拒原因解析
- intel更新13代桌面处理器产品线,更多核心更贵价格
- 传统企业如何做数字化转型?弄懂这3大底层逻辑你就懂了
- 疲惫的 618,很难再激起年轻人的多巴胺?
热门文章
- 软件测试报告doc,软件测试报告.doc
- BP(反向传播)神经网络
- 教你如何处理Zabbix添加key总是not supported
- 全局光照---光线跟踪方法
- Linux学习总结(四十四)lnmp之php-fpm相关配置
- 第一:Python+Allure运行报错AttributeError: module ‘allure‘ has no attribute ‘severity_level‘
- python接口自动化(三十六)-封装与调用--流程类接口关联续集(详解)
- python接口自动化(十一)--发送post【data】(详解)
- opencvpython 段力辉是哪本书_OpenCV基础 | 1.python3.6+OpenCV4.0环境配置
- 计算机教学教育评价和实践手册,教育教学实践评价手册(听课记录表三)