6、伸缩

有多个基准测试,用于检查RabbitMQ和Kafka的性能。

尽管通用的基准测试对一些特定的情况会有限制,但是Kafka通常被认为比RabbitMQ有更优越的性能。

Kafka使用顺序磁盘I / O来提高性能。

从Kafka使用分区的架构上看,它在横向扩展上会优于RabbitMQ,当然RabbitMQ在纵向扩展上会有更多的优势。

Kafka的大规模部署通常每秒可以处理数十万条消息,甚至每秒百万级别的消息。

过去,Pivotal记录了一个Kafka集群每秒处理一百万条消息的例子;但是,它是在一个有着30个节点集群上做的,并且这些消息负载被优化分散到多个队列和交换器上。

链接:https://content.pivotal.io/blog/rabbitmq-hits-one-million-messages-per-second-on-google-compute-engine

典型的RabbitMQ部署包含3到7个节点的集群,并且这些集群也不需要把负载分散到不同的队列上。这些典型的集群通常可以预期每秒处理几万条消息。

获胜者:

尽管这两个消息平台都可以处理大规模负载,但是Kafka在伸缩方面更优并且能够获得比RabbitMQ更高的吞吐量,因此这局Kafka获胜。

但是,值得注意的是大部分系统都还没有达到这些极限!所以,除非你正在构建下一个非常受欢迎的百万级用户软件系统,否则你不需要太关心伸缩性问题,毕竟这两个消息平台都可以工作的很好。

需要更多教程,微信扫码即可

RabbitMQ和Kafka的显著差异(6)相关推荐

  1. RabbitMQ和Kafka的显著差异(1)

    RabbitMQ是一个消息代理,但是Apache Kafka是一个分布式流式系统.好像从语义上就可以看出差异,但是它们内部的一些特性会影响到我们是否能够很好的设计各种用例. 例如,Kafka最适用于数 ...

  2. RabbitMQ和Kafka的显著差异(over)

    7.消费者复杂度 RabbitMQ使用的是智能代理和傻瓜式消费者模式.消费者注册到消费者队列,然后RabbitMQ把传进来的消息推送给消费者.RabbitMQ也有拉取(pull)API:不过,一般很少 ...

  3. RabbitMQ和Kafka的显著差异(5)

    5.容错处理 当处理消息,队列和事件时,开发者常常认为消息处理总是成功的.毕竟,生产者把每条消息放入队列或者主题后,即使消费者处理消息失败了,它仅仅需要做的就是重新尝试,直到成功为止. 尽管表面上看这 ...

  4. RabbitMQ和Kafka的显著差异(4)

    4.消息留存(retention) 当消费者成功消费消息之后,RabbitMQ就会把对应的消息从存储中删除.这种行为没法修改.它几乎是所有消息代理设计的必备部分. 相反,Kafka会给每个主题配置超时 ...

  5. RabbitMQ和Kafka的显著差异(3)

    3.消息时序(timing) 在测定发送到一个队列的消息时间方面,RabbitMQ提供了多种能力: 1)消息存活时间(TTL) 发送到RabbitMQ的每条消息都可以关联一个TTL属性.发布者可以直接 ...

  6. RabbitMQ和Kafka的显著差异(2)

    2.消息路由 RabbitMQ可以基于定义的订阅者路由规则路由消息给一个消息交换器上的订阅者.一个主题交换器可以通过一个叫做routing_key的特定头来路由消息. 或者,一个头部(headers) ...

  7. rabbitmq中默认unack超时时间_RabbitMQ 与 Kafka 的技术差异以及使用注意点

    导言 作为一个有丰富经验的微服务系统架构师,经常有人问我,"应该选择RabbitMQ还是Kafka?".基于某些原因, 许多开发者会把这两种技术当做等价的来看待.的确,在一些案例场 ...

  8. kafka reassign 限速_RabbitMQ 与 Kafka 的技术差异以及使用注意点

    导言 作为一个有丰富经验的微服务系统架构师,经常有人问我,"应该选择RabbitMQ还是Kafka?".基于某些原因, 许多开发者会把这两种技术当做等价的来看待.的确,在一些案例场 ...

  9. RabbitMQ和Kafka选型用哪个

    作为一个有丰富经验的微服务系统架构师,经常有人问我,"应该选择RabbitMQ还是Kafka?" 基于某些原因, 许多开发者会把这两种技术当做等价的来看待.的确,在一些案例场景下选 ...

最新文章

  1. PHP mysql数据迁移,【MySQL】迁移数据目录php-php教程
  2. 博客园的博客积分与排名查看方法
  3. 客户关系管理系统CRM(Customer Relationship Management)
  4. 【Zigbee技术入门教程-02】一图读懂ZStack协议栈的核心思想与工作机理
  5. 记录一次生产发布事件——(简单的非空验证也能引发大问题)
  6. DevOps之发布系统
  7. linux内核那些事之VMA常用操作
  8. Flex读取xml文件
  9. 实验5.2 动态内存分配生成动态数组完成矩阵转置
  10. java ide 的优劣_Java程序员的困惑 Java IDE到底怎么选
  11. 进程和应用程序生命周期
  12. python autoitlibrary_记录RF安装AutoItLibrary库的辛酸过程
  13. ASP.NET编程的十大技巧
  14. java反编译工具Java Decompiler
  15. 使用C语言判断一个数是否为素数
  16. Excel 透视表 - 人生第二个透视表
  17. python变量相关性,数据科学:定量和定性变量之间的相关性(python语言)
  18. 新浪短网址生成java_短网址链接生成器代码示例——新浪短链接api接口php、java、Python调用演示...
  19. NEO区块链-DAPP开发直通车-第零篇
  20. gitter 卸载_最佳Gitter频道:数学

热门文章

  1. 三星突然发布Galaxy S10 Lite和Note 10 Lite:有不同也有所同
  2. 苹果发布iOS 13.1.1更新 修复第三方键盘APP安全等问题
  3. 90后程序员健康现状:掉头发、油腻、腰椎间盘突出……
  4. 主打轻薄长续航搭载骁龙730 联想Z6发布 1899元起!
  5. 华为海思Hi1620芯片发布在即 7nm制程ARM架构最高可达3.0GHz
  6. 千元内无敌!红米两款新机发布 小米9侧目?
  7. 摩托罗拉G7系列发布:G7 Plus还有中国红配色
  8. 还不会用springboot写接口?快看这里,手把手操作,一发入魂~
  9. java多线程问题,线程交替执行
  10. 晨哥真有料丨明知道没有结果的爱情,还要继续下去吗?