小米 RocketMQ 的降本增效和容灾实践
邓志文
中文演讲 2023-08-20 15:45 GMT+8 #messaging演讲介绍:小米使用 RocketMQ 作为在线消息队列服务,随着业务规模逐渐扩大,一些问题也渐渐显露出,如集群成本高、抖动频繁和缺少机房容灾等,本文将介绍小米在这些方面的一些实践经验。 提纲:
- 发展历程及面临问题 RocketMQ 在小米落地的两年期间,业务日生产消息量规模迅速增长至千亿级别,覆盖了订单、通知、Iot 等诸多业务场景。同时,机器成本高、社区高版本功能缺失、容灾方案不够完善等问题也逐渐显现出来,亟待解决。
- 解决思路和落地实践
- 降本实践 小米选型 RocketMQ DLedger 模式,基于 Raft 实现自动 Failover,但三副本冗余带来了昂贵的机器成本,本节将介绍小米如何通过单机多实例方案极大的降低了机器成本。
- 效能提升 业务需求的发展和 RocketMQ 社区版本的迭代速度都非常快,本节介绍了小米是如何在二者之间进行权衡与取舍,并通过诸如 Batch 合并、POP 消费、任意延时消息、ZSTD 压缩升级、单机多实例等功能的落地来提升业务效能
- 多场景容灾 本节将会详细介绍小米在 RocketMQ 容灾领域的思考和实践过程,并细致的分析 RocketMQ 3 种机房级灾备方案的利弊。本节内容曾整理为文章《RocketMQ 在小米的多场景灾备实践案例》,发表于 Apache RocketMQ 公众号。
- 总结与展望 小米在 RocketMQ 的落地过程中,对成本、效能、容灾等问题有比较完整的思考和实践。未来希望能够在社区 5.0 版本的基础上,进行例如 Stream、Severless、分层存储等云原生方面能力的探索。
Speakers:
邓志文: 小米, 软件研发工程师, Apache RocketMQ Committer,小米研发工程师,主要负责消息队列相关工作。