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

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和多个消费端的业务场景。

相关推荐
Bug退退退1233 小时前
RabbitMQ 高级特性之死信队列
java·分布式·spring·rabbitmq
prince054 小时前
Kafka 生产者和消费者高级用法
分布式·kafka·linq
菜萝卜子5 小时前
【Project】基于kafka的高可用分布式日志监控与告警系统
分布式·kafka
csdn_aspnet5 小时前
在 Windows 上安装和运行 Apache Kafka
windows·kafka
星月昭铭6 小时前
RocketMQ-Dashboard页面报Failed to fetch ops home page data错误
rocketmq
幼稚园的山代王12 小时前
RabbitMQ 4.1.1初体验-队列和交换机
分布式·rabbitmq·ruby
小新学习屋12 小时前
Spark从入门到熟悉(篇三)
大数据·分布式·spark
沉着的码农16 小时前
【设计模式】基于责任链模式的参数校验
java·spring boot·分布式
srrsheng19 小时前
RocketMQ面试题
rocketmq
ZHOU_WUYI1 天前
一个简单的分布式追踪系统
分布式