创投圈|阿里云中间件开源往事( 三 )


2021 年 , 在经历社区众多开发者的不断努力 , RocketMQ 5.0 正式发布 , 新版本核心包括两大新亮点:
首先 , 消息核心场景全面扩展 , RocketMQ 5.0 不再局限于消息解耦场景 , 将消息的应用场景从 Messaging 拓展到了 Streaming 和 Eventing 领域; 其次 , 技术架构不断演进 , 逐渐形成一站式融合处理的技术架构和趋势 。2022 年 , 批量消息索引、逻辑队列发布 RocketMQ-MQTT、RocketMQ-Connect、RocketMQ-Streams , 完成了从业务消息平台向『消息、事件、流』一体化融合处理平台的升级 。 开发者可以实现一份消息存储 , 支持流式计算、异步投递、集成驱动等多个场景 。 实现技术问题一站式解决 , 大大降低技术复杂度和运维成本 , 简化企业应用架构 。
分布式应用的落地 , 仅仅是一个 RPC 框架和一套异步消息系统是不够的 , 还需要一系列围绕分布式应用架构的组件 。
技术人的仲夏之夜 2018 年夏天 , 国内应用中间件开源领域 , 迎来了两位新成员 。
作为微服务生态下的两款重要开源组件 , Nacos 主打动态服务发现、配置和服务管理 , Sentinel 则是聚焦在限流和降级两个方面 。
Nacos 和 Sentinel 均是在阿里 10 多年的核心业务场景下沉淀所产生的 , 他们的开源是对国内应用中间件领域开源技术方案的有效补充 , 同时也非常强调融入开源生态 , 除了兼容 Dubbo , 也支持 Spring Cloud 和 Kubenetes 等生态 , 以增强自身的生命力 。

“Nacos 起源于阿里巴巴内部 , 历经十多年双 11 洪峰考验的三款产品 - VIPServer/Configserver/Diamond, 沉淀了简单易用、稳定可靠、性能卓越的核心竞争力 , 并吸引了 200 多位优秀贡献者 , 共迭代 44 个版本 , 服务虎牙、好未来、小米等多家企业 , 在 2.0 的里程碑版本上 , 全面升级了通信协议、服务一致性模型、支持服务网格生态和多语言生态 。 ”彦林在 Nacos star 突破 2w 后分享道 。
Nacos 2.0 的发布 , 是 Nacos star 突破 2w 的又一个里程碑事件 。 随着 Nacos 用户规模的增长 , 和用户业务日益复杂 , Nacos 2.0 的发布是一个必然 。 Nacos 1.x 时代:
服务发现性能不够强:在 10W、5W 级客户端下 , 服务端完全处于 Full GC 状态 , 推送完全失败 , 集群不可用;在 2W 客户端规模下 , 虽然服务端运行状态正常 , 但由于心跳处理不及时 , 大量服务在摘除和注册阶段反复进行 , 因此达不到稳定状态 , CPU 一直很高;1.2W 客户端规模下 , 可以稳定运行 , 但稳态时 CPU 消耗是更大规模下 2.0 的 3 倍以上 。配置管理性能不够强:连接客户端数量达到 6000 时 , 稳定状态的 CPU 一直很高 , 且 GC 频繁;当客户端规模达到 1.2w 时 , 已经无法达到稳态 , 所以无法支撑这个量级的客户端数 。 推送规模达到 3000TPS 时 , 占了 80%的 CPU 资源;一旦达到 6000TPS 时 , CPU 资源上升到了 90% 。Nacos 和社区开发者们
Nacos2.0 作为一个跨代版本 , 对架构做了全面升级 , 彻底解决了 Nacos1.X 的性能问题 , 针对服务发现的场景 , Nacos2.0 能够在 10w 级规模下 , 稳定运行 , 相比 Nacos1.X 版本的 1.2w 规模 , 提升约 10 倍;针对配置管理的场景 , Nacos2.0 单机最高能够支撑 4.2W 个客户端连接 , 相比 Nacos1.X , 提升了 7 倍 , 且推送时的性能明显好于 1.X 。
一边是 Nacos 宣布开源 , 逐步迭代到 2.0 版本 , 提供企业版 MSE , 另一边是 Spring Cloud 生态下的服务注册和发现组件宣布停止开源投入 , 勇敢者的游戏充满了变数 , 但在 Nacos 团队看来 , 这场游戏自己可以走到最后:在 2021 年某第三方媒体对注册中心开源方案采用的调研中 , Nacos 的市场占有率已经超过 50% 。