写点什么

2023-07-14:讲一讲 Kafka 与 RocketMQ 中存储设计的异同?

  • 2023-07-14
    北京
  • 本文字数:405 字

    阅读完需:约 1 分钟

2023-07-14:讲一讲 Kafka 与 RocketMQ 中存储设计的异同?


答案 2023-07-14:



在 Kafka 中,文件的布局采用了 Topic/Partition 的方式,每个分区对应一个物理文件夹,且在分区文件级别上实现了顺序写入。然而,当一个 Kafka 集群拥有大量的主题和每个主题拥有数百个分区时,在高并发写入消息的情况下,IO 操作会变得零散。这是因为消息的落盘策略导致磁盘 IO 的竞争变得激烈,成为系统性能的瓶颈。实际上,由于 IO 操作变得随机,所以在消息写入时,Kafka 的 IO 性能会随着主题和分区数量的增加而先上升,然后下降。


RocketMQ 追求在消息写入时实现极致的顺序写。所有的消息都会按顺序写入 commitlog 文件,不论主题或分区的数量增加,都不会影响其顺序性。


在消息的发送和消费共存的场景中,随着 Topic 数量的增加,Kafka 的吞吐量会急剧下降,而 RocketMQ 则能够保持较为稳定的性能表现。因此,Kafka 更适用于少量 Topic 和消费端的业务场景,而 RocketMQ 则更适合于涉及多个 Topic 和多个消费端的业务场景。



发布于: 刚刚阅读数: 4
用户头像

公众号:福大大架构师每日一题 2021-02-15 加入

公众号:福大大架构师每日一题

评论

发布
暂无评论
2023-07-14:讲一讲Kafka与RocketMQ中存储设计的异同?_福大大架构师每日一题_福大大架构师每日一题_InfoQ写作社区