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

相关推荐
中议视控2 小时前
RTSP和RTSM编码推送软件让中控系统控制实现可视化播控
网络·分布式·物联网·5g·音视频
Thomas.Sir6 小时前
深入剖析 Redis 经典面试题
redis·分布式·高并发·
十点就想睡8 小时前
redission分布式锁的介绍及使用
分布式
`Jay10 小时前
Python Redis连接池&账号管理池
redis·分布式·爬虫·python·学习
阿里云云原生11 小时前
悠悠有品:RocketMQ 稳扛核心交易,Kafka 驱动海量数据,支撑高并发游戏饰品交易平台
kafka·rocketmq
rannn_11112 小时前
【Redis|实战篇4】黑马点评|分布式锁
java·数据库·redis·分布式·后端
mcooiedo12 小时前
RabbitMQ高级特性----生产者确认机制
分布式·rabbitmq
若鱼191912 小时前
SpringBoot4+Kafka4 - 生产环境故障 - 消费者执行时间太长导致消息无限循环投递
java·spring·kafka
Thomas.Sir12 小时前
深入剖析 Redis 的三种集群方式以及实战配置
redis·分布式·集群·高可用
0xDevNull12 小时前
RabbitMQ 完整技术指南
分布式·rabbitmq