聊聊mq中消息消费的几种方式-创新互联
mq系列文章
对mq了解不是很多的,可以看一下下面两篇文章:
为龙州等地区用户提供了全套网页设计制作服务,及龙州网站建设行业解决方案。主营业务为成都网站制作、成都做网站、外贸营销网站建设、龙州网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!- 聊聊mq的使用场景
- 聊聊业务系统中投递消息到mq的几种方式
- 聊聊消息消费的几种方式
- 如何确保消息至少消费一次
- 如何保证消息消费的幂等性
本章内容
从消费者的角度出发,分析一下消息消费的两种方式:
- push方式
- pull方式
push方式
消息消费的过程:
mq接收到消息
- mq主动将消息推送给消费者(消费者需提供一个消费接口)
mq属于主动方,消费者属于一种被动消费,一旦有消息到达mq,会触发mq推送机制,将消息推送给消费者,不管消费者处于何种状态。
优点:
消费者代码较少:对于消费者来说,只需提供一个消费接口给mq即可;mq将接收到的消息,随即推送到指定的消费接口
- 消息实时性比较高:对于消费者来说,消息一旦到达mq,mq会立即推送给消费者
缺点:
1.消费者属于被动方,消息量比较大时,对消费者性能要求比较高;若消费者机器资源有限,可能会导致压力过载,引发宕机的情况。
2.对消费者可用性要求比较高:当消费者不可用时,会导致很push失败,在mq方需要考虑至少推送成功一次,这块的设计下章节会做说明。
pull方式
消息消费的过程:
1.消费端采用轮询的方式,从mq服务中拉取消息进行消费
2.消费完成通知mq删除已消费成功的消息
3.继续拉取消息消费
对于消费者来说,是主动方,可以采用线程池的方式,根据机器的性能来增加或缩小线程池的大小,控制拉取消息的速度,可以很好的控制自身的压力。
优点:
1.消费者可以根据自己的性能主动控制消息拉去的速度,控制自己的压力,不至于把自己弄跨
2.实时性相对于push方式会低一些
3.消费者属于主动方,控制权更大一些
缺点:
1.消费方需要实现消息拉取的代码
2.消费速度较慢时,可能导致mq中消息积压,消息消费延迟等
总结
消费者性能较好,对实时性要求比较高的,可以采用push的方式
消费者性能有限,建议采用pull的方式
整体上来说,主要在于消费者的性能,机器的性能如果没有问题,push和pull都是可以的
- 大家有什么看法,可以留言一起讨论,希望本文对你有所帮助
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
网页标题:聊聊mq中消息消费的几种方式-创新互联
链接地址:http://myzitong.com/article/cogdpp.html