码迷,mamicode.com
首页 > 其他好文 > 详细

消息队列浅谈

时间:2018-10-27 19:47:28      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:消息   活跃   耦合   bubuko   队列   双十一   日志   分享图片   应用   

为什么要用消息队列

  1. 解耦:如左图, 系统a因为业务需求需要调用系统b,后续因为业务需求可能需要改代码调用系统c,甚至还要考虑被调用的系统挂了访问超时的问题。耦合性太高!

         如右图, 系统a产生一条数据发送到消息队列里面去, 需要数据的系统就去监控消息队列就好了。

  2. 异步:如左图,一个请求过来,3个服务走完需要花450ms; 右图,系统a处理完请求后直接丢给消息队列,然后响应用户,不需要等待。只花了150ms这样就节约了不少时间!一般互联网项目用户请求不超过200ms体验是最好的。

      技术分享图片

  3. 削峰:

      技术分享图片

 

消息中间件的选择

  activemq:万级吞吐量,老牌产品 mq领域的功能比较完善,(社区不活跃, 不建议用)

  rabbitmq:吞吐量比activemq高一点点,基于erlang开发 并发性能好。(社区活跃,适合中小公司)

  rocketmq:十万级吞吐量,阿里产品java开发,经过双十一考验。topic可以达到几百,几千个的级别,吞吐量会有较小幅度的下降(怕像dubbo一样后期黄了,自己团队没人能改造源码。适合中大公司)

   kafka :十万级吞吐量,topic从几十个到几百个的时候,吞吐量会大幅度下降。天然适合大数据实时计算以及日志收集。

消息队列浅谈

标签:消息   活跃   耦合   bubuko   队列   双十一   日志   分享图片   应用   

原文地址:https://www.cnblogs.com/wlwl/p/9862719.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!