4.RabbitMQ 与 Kafka 的区别?

简介: 4.RabbitMQ 与 Kafka 的区别?

有参考 Kafka 消息队列,最终选择了 RabbitMQ,原因如下:

  1. 消息可靠性方面。Kafka 不能保证消息的完全可靠,对数据丢失不敏感;而 RabbitMQ 则保证绝对可靠 (AMOP 特性)。
  2. 消息传递方面。Kafka 中生产者发出的消息被均匀分布到多个 part 中,broker 收到消息后写入 segment 文件,只能当 segment 的消息条数达到配置数或者消息发布时间超过阈值时,segment 上的消息才会被 flush 到磁盘,最终被消费者收到;而 Rabbit 通过交换机 (Exchange) 实时转发消息。
  3. RabbitMQ 适合处理数据量小,但得保证实时且高可靠的消息。而 Kafka 的具有较高的数据吞吐量。
  4. RabbitMQ 的服务生产者和消费者能力需对等,否则消息堆积影响性能。而 Kafka 大量依赖 Zookeeper,我们的除了要监控 Kafka 之外还得监控 Zookeeper。
  5. Kafka 比较轻量级,而 RabbitMQ 比较重。
  6. 总的来说,对于选择 Kafka 还是 RabbitMQ,主要考虑三个因素:吞吐量可靠性平台熟悉度。如果是需要流处理和高并发的日志处理,首选 Kafka。但是大部分公司并没有什么高并发的处理,因此可以着重考虑可靠性和平台熟悉度,Kafka 也是有策略可以设置消息可靠的,但可靠性不如 RabbitMQ 好。RabbiMQ 使用简易,基本上就是” 开箱即用 “。

image.png

QPS(Queries Pre Second) :qps 为服务端每秒能执行的查询总数

RabbitMQ 与 Kafka 的区别参考:

消息中间件选型分析:从 Kafka 与 RabbitMQ 的对比看全局 - 掘金 (juejin.cn)

RabbitMQ 与 Kafka 选型对比 - 陈珙 - 博客园 (cnblogs.com)

面试题:Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点 (qq.com)

相关文章
|
3月前
|
消息中间件 Java Kafka
消息传递新纪元:探索RabbitMQ、RocketMQ和Kafka的魅力所在
【8月更文挑战第29天】这段内容介绍了在分布式系统中起到异步通信与解耦作用的消息队列,并详细探讨了三种流行的消息队列产品:RabbitMQ、RocketMQ 和 Kafka。其中,RabbitMQ 是一个基于 AMQP 协议的开源消息队列系统,支持多种消息模型;RocketMQ 则是由阿里巴巴开源的具备高性能、高可用性和高可靠性的分布式消息队列,支持事务消息等多种特性;而 Kafka 作为一个由 LinkedIn 开源的分布式流处理平台,以高吞吐量和良好的可扩展性著称。此外,还提供了使用这三种消息队列发送和接收消息的代码示例。总之,这三种消息队列各有优势,适用于不同的业务场景。
67 3
|
1天前
|
消息中间件 大数据 Kafka
大厂面试高频:Kafka、RocketMQ、RabbitMQ 的优劣势比较
本文深入探讨了消息队列的核心概念、应用场景及Kafka、RocketMQ、RabbitMQ的优劣势比较,大厂面试高频,必知必会,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:Kafka、RocketMQ、RabbitMQ 的优劣势比较
|
16天前
|
消息中间件 存储 监控
ActiveMQ、RocketMQ、RabbitMQ、Kafka 的区别
【10月更文挑战第24天】ActiveMQ、RocketMQ、RabbitMQ 和 Kafka 都有各自的特点和优势,在不同的应用场景中发挥着重要作用。在选择消息队列时,需要根据具体的需求、性能要求、扩展性要求等因素进行综合考虑,选择最适合的消息队列技术。同时,随着技术的不断发展和演进,这些消息队列也在不断地更新和完善,以适应不断变化的应用需求。
61 1
|
1月前
|
消息中间件 存储 监控
说说如何解决RocketMq消息积压?为什么Kafka性能比RocketMq高?它们区别是什么?
【10月更文挑战第8天】在分布式系统中,消息队列扮演着至关重要的角色,它不仅能够解耦系统组件,还能提供异步处理、流量削峰和消息持久化等功能。在众多的消息队列产品中,RocketMQ和Kafka无疑是其中的佼佼者。本文将围绕如何解决RocketMQ消息积压、为什么Kafka性能比RocketMQ高以及它们之间的区别进行深入探讨。
69 1
|
3月前
|
消息中间件 存储 监控
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别,设计目标、适用场景、吞吐量、消息存储和持久化、可靠性、集群负载均衡
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别
|
3月前
|
消息中间件 Kafka Apache
kafka vs rocketmq: 不要只顾着吞吐量而忘了延迟这个指标
这篇文章讨论了Apache RocketMQ和Kafka的对比,强调RocketMQ在低延迟、消息重试与追踪、海量Topic、多租户等方面进行了优化,特别是在小包非批量和大量分区场景下的吞吐量超越Kafka,适合电商和金融领域等高并发、高可靠和高可用场景。
94 0
|
21天前
|
消息中间件 JSON Java
开发者如何使用轻量消息队列MNS
【10月更文挑战第19天】开发者如何使用轻量消息队列MNS
61 8
|
16天前
|
消息中间件 存储 Kafka
MQ 消息队列核心原理,12 条最全面总结!
本文总结了消息队列的12个核心原理,涵盖消息顺序性、ACK机制、持久化及高可用性等内容。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
|
29天前
|
消息中间件 安全 Java
云消息队列RabbitMQ实践解决方案评测
一文带你详细了解云消息队列RabbitMQ实践的解决方案优与劣
63 10
|
19天前
|
消息中间件
解决方案 | 云消息队列RabbitMQ实践获奖名单公布!
云消息队列RabbitMQ实践获奖名单公布!