mq系列文章

本章内容

从消费者的角度出发,分析一下消息消费的两种方式:

  1. push方式
  2. pull方式

push方式

消息消费的过程:

  1. mq接收到消息

  2. mq主动将消息推送给消费者(消费者需提供一个消费接口)

mq属于主动方,消费者属于一种被动消费,一旦有消息到达mq,会触发mq推送机制,将消息推送给消费者,不管消费者处于何种状态。

优点:

  1. 消费者代码较少:对于消费者来说,只需提供一个消费接口给mq即可;mq将接收到的消息,随即推送到指定的消费接口

  2. 消息实时性比较高:对于消费者来说,消息一旦到达mq,mq会立即推送给消费者

缺点:

1.消费者属于被动方,消息量比较大时,对消费者性能要求比较高;若消费者机器资源有限,可能会导致压力过载,引发宕机的情况。

2.对消费者可用性要求比较高:当消费者不可用时,会导致很push失败,在mq方需要考虑至少推送成功一次,这块的设计下章节会做说明。

pull方式

消息消费的过程:

1.消费端采用轮询的方式,从mq服务中拉取消息进行消费

2.消费完成通知mq删除已消费成功的消息

3.继续拉取消息消费

对于消费者来说,是主动方,可以采用线程池的方式,根据机器的性能来增加或缩小线程池的大小,控制拉取消息的速度,可以很好的控制自身的压力。

优点:

1.消费者可以根据自己的性能主动控制消息拉去的速度,控制自己的压力,不至于把自己弄跨

2.实时性相对于push方式会低一些

3.消费者属于主动方,控制权更大一些

缺点:

1.消费方需要实现消息拉取的代码

2.消费速度较慢时,可能导致mq中消息积压,消息消费延迟等

总结

  1. 消费者性能较好,对实时性要求比较高的,可以采用push的方式

  2. 消费者性能有限,建议采用pull的方式

  3. 整体上来说,主要在于消费者的性能,机器的性能如果没有问题,push和pull都是可以的

  4. 大家有什么看法,可以留言一起讨论,希望本文对你有所帮助

mq中消息消费的几种方式相关推荐

  1. 聊聊mq中消息消费的几种方式

    mq系列文章 对mq了解不是很多的,可以看一下下面两篇文章: 聊聊mq的使用场景 聊聊业务系统中投递消息到mq的几种方式 聊聊消息消费的几种方式 如何确保消息至少消费一次 如何保证消息消费的幂等性 本 ...

  2. 谈谈mq消息消费的几种方式

    mq系列文章 对mq了解不是很多的,可以看一下下面两篇文章: 聊聊mq的使用场景 聊聊业务系统中投递消息到mq的几种方式 聊聊消息消费的几种方式 如何确保消息至少消费一次 如何保证消息消费的幂等性 本 ...

  3. mq消费的几种方式(从消费者角度出发)

    从消费者的角度出发,分析一下消息消费的两种方式: push方式 pull方式 push方式 消息消费的过程: 1. mq接收到消息 2. mq主动将消息推送给消费者(消费者需提供一个消费接口) mq属 ...

  4. redis实现消息队列的几种方式及其优劣

    概述 常用的消息队列有,rabbitMq.kafka.RocketMq.ActiveMq等.这些消息队列需要独立安装部署,作为一个中间件来提供服务,虽然有着高性能.高可靠的优点,但是额外部署这些中间件 ...

  5. 前端后端的消息推送 7 种方式

    消息推送 7 种方式 看了原文章后,自己写的笔记 参考 https://mp.weixin.qq.com/s/xQV81HiD8hkzx2wMc3ZT7A 需求 先说需求,实现一个站内信的web消息推 ...

  6. Redis实现消息队列的几种方式

    Redis消息队列的几种方式 1 基于rpush+lpop list类似于java中的linkedList .如果插入头或者尾的话,时间复杂度为O(1),在其他地方插入需要O(n).查询也是一样.所以 ...

  7. 在 C# 中生成代码的四种方式——包括.NET 5中的Source Generators

    Microsoft在最新的C#版本中引入了Source Generator.这是一项新功能,可以让我们在代码编译时生成源代码.在本文中,我将介绍四种C#中的代码生成方式,以简化我们的日常工作.然后,您 ...

  8. JavaScript概述和HTML中嵌入JavaScript的三种方式

    "成功没有捷径,脚踏实地一步一个脚印,该来的总会来,不好高骛远,不急功近利,付出总会有回报,不管处于哪个阶段,都要一步一个脚印,踏实的走好每一步!" 目录 01.JavaScrip ...

  9. 通过小程序积分营销工具提升用户消费的三种方式

    在微信小程序的运营中,我们经常会通过小程序积分营销工具搭建积分体系去提升用户的粘性,最终实现用户的转化消费.那么,积分体系如何运营,成为我们需要思考的问题. 我们都知道,积分体系最重要的元素的就是&q ...

最新文章

  1. 《Adobe Flash CS5中文版经典教程》——1.3 使用“库”面板
  2. Arcgis Javascript中geometryEngine报错’hq‘of undefined的解决方法
  3. web前端工程师必须掌握的24条宝贵经验!
  4. python手机版做小游戏代码大全-12岁的少年教你用Python做小游戏
  5. 一款网站炫酷底部美化源码
  6. RCC_APB2Periph_ALL 哪儿里去了?
  7. 安阳工学院计算机类宿舍,2021年安阳工学院新生宿舍条件和宿舍环境图片
  8. 分享几个在记账本中快速删除收支明细的技巧
  9. ubuntu16.04 opencv3.3 python2.7 caffe GPU环境搭建
  10. F623光猫超级管理员密码获取
  11. word文档设置了打开密码如何破解
  12. Springboot乐器乐曲交易系统tw5iy计算机毕业设计-课程设计-期末作业-毕设程序代做
  13. 国内优秀的CRM软件公司推荐
  14. R语言统计—多重比较(1)
  15. C++ sort 排序(降序、升序)使用总结
  16. 解决audio控制播放音量
  17. 微型计算机最早提出于,大学计算机基础知识理论题及解答.doc
  18. CN2GIA香港、美国云服务器:三网快速云服务器怎么选择?
  19. 如何看电脑PHP版本,电脑怎么看系统版本(怎么看电脑系统的版本?)
  20. Java常用方法 总结

热门文章

  1. docker - 安装searx搜索引擎
  2. linux进程间信号量
  3. U盘和电脑USB都是好的,可是插上u盘没任何反应!
  4. matlab定义双精度型变量_MATLAB小数(浮点数)类型
  5. 文件服务器属于固定资产吗,云服务器属于固定资产吗
  6. 如何保证代码的健壮性和可读性
  7. 计算机专业有非全日制研究生,计算机专业有双证在职研究生吗?
  8. 与浏览网站的访客直接进行QQ对话
  9. 房地产泡沫,经济发展的真正毒瘤
  10. BuildAdmin后台管理系统配置QQ邮箱