码迷,mamicode.com
首页 > Web开发 > 详细

RabbitMQ vs Apache Kafka

时间:2018-08-27 21:47:01      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:standard   利用   get   why   比较   系统   优雅   www   blog   

 

1. Why do we need MQ?

技术分享图片

(1) 消峰填谷

以订单系统和结算系统场景为例,如果订单系统通过RPC框架来调用结算系统,
在有高峰促销的情况下生成订单的量会非常大,而且由于生成订单的速度也非常快,
这样势必会给结算系统造成系统压力,服务器利用率则会偏高,但在不是高峰的时间点订单量比较小,
结算系统的服务器利用率则会偏低。

通过MQ的方式,将订单存储到MQ队列中,消费端通过拉取的方式,并且拉去速度有消费端来控制,则就可以控制流量趋于平稳。
这样对于结算系统来讲,就达到了削峰填谷的目的。或者说起到了流控的目标。

 

2. MQ Selection?

   (1)Scene

   RabMQ: Focus on standards(AMQP)

   Kafka:Focus on Application

   (2)Performance

   RabMQ: 20k- /s

   Kafka:   100k- /s 

 

技术分享图片    (3) Architecture and Design

技术分享图片

 

技术分享图片

 

 

 

Reference:

    1.《如何优雅的使用MQ-详述功能场景 - 王新栋》

    2.《Understanding When to use RabbitMQ or Apache Kafka

 

RabbitMQ vs Apache Kafka

标签:standard   利用   get   why   比较   系统   优雅   www   blog   

原文地址:https://www.cnblogs.com/xiaobin-hlj80/p/9544039.html

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