开发者社区 问答 正文

Kafka 为什么随着 topic 增加,性能会急剧下降

[南京—后端—海鹏] 为什么说rocketmq 是顺序写,而kafka是随机写?kafka主题数超过100性能下降很大是怎么回事

来源:云原生后端社区https://www.yuque.com/server_mind/answer

展开
收起
montos 2020-04-20 17:28:43 3741 分享 版权
1 条回答
写回答
取消 提交回答
  • [南京—后端—海鹏] 网上的解释

    RocketMq 和 Kafka 的性能基线就不在一个水准上,Kafka 利用顺序读写已经把一个 MQ 的性能压榨到比较极限的水准了,超高的性能也带来了一些问题,每一个 topic 在硬盘上用一个 logfile 表示,通过顺序读写可以使性能非常高,但当多个 topic 的多个 partition 分布在同一台机器上时,原本的顺序读写就变为随机读写,partition 越多,随机就越严重,apache pulsar 解决了这个问题是使用 bookkeeper 做 store,这样做同时也降低了性能基线,业务需要很高的性能时,用 Kafka 没错,堆机器就行了,没钱堆机器时也不需要那么高的性能。

    [上海-大数据-酸菜鱼] Kafka本身是顺序写, FileChannel对应一个磁盘位置顺序写, 但是要写的log多了后, 其实要在磁盘上写入的位置就很多了, 性能会不如随机写。

    来源:云原生后端社区https://www.yuque.com/server_mind/answer

    2020-04-20 17:28:59
    赞同 展开评论