RocketMQ如何支持更多队列(翻译)
简述 Kafka是一个分布式流处理平台,它诞生自日志聚合案例。它不需要太高的并发性。在阿里的大规模案例中,我们发现原始模式不能满足我们的事件需求。因此,我们开发了一个名为RocketMQ的消息中间件,来解决更广泛的使用场景,从传统的发布/订阅情景到超大容量的不容忍消息丢失的事物系统。现在,在阿里,RocketMQ集群每天处理超过5000亿次事件,为3000多核心应用提供服务。 kafka的分区设计 生产者的并行写受分区数量的限制。 消费者的消费并行级别同样受到消费分区数量的限制。假设最大分区数量是20,当前消费中的消费者最大数量也只能是20. 每个主题由固定数量的分区组成。分区数量决定单个broker可能拥有的最大主题数,而不会显著的影响性能。 更多详情请参考这里 为什么Kafka不支持更多分区 每个分区都存储着所有的消息数据。尽管每个分区都按照顺序写盘,但随着并发写入分区的数量增加,从操作系统层面来说,写入就变的随机。 由于数据文件的分散,使用Linux IO组提交机制会比较困难。 Rocket如何支持更多分区? 所有的消息数据存储在提交日志文件。所有的写操作都是完全有序的,而读操作...