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


但显然 , 仅仅是 Sentinel、Chaoblade 还无法满足开发者对于用好、管好分布式应用的开源诉求 , 于是阿里云再一次开源了两款面向分布式应用治理领域的项目 , Appactive 和 OpenSergo 。
在 2022 年 1 月的云原生实战峰会上 , 云原生应用平台负责人叔同宣布应用多活 Appactive 正式开源 。 由此 , Sentinel、Chaosblade 和 AppActive 形成了高可用的三架马车 , 帮助企业构建稳定可靠的企业级生产系统 , 提高企业面对容灾、容错、容量管控等的稳态系统建设能力 。

2013 年 , 当时淘宝完成去 O 没多久 , 双十一的规模较上年进一步飞增 。 阿里的工程师正面临以下两大难题 , 一方面是机房资源非常紧张 , 容量不足 , 另一方面是杭州出现罕见的高温天气 , 机房面临断电的风险 , 异地多活架构就是在这个背景下孵化出来的 。 后来 , 随着淘宝的业务规模演进 , 异地多活也从近距离同城双机房到远距离异地双活 , 再到三地四单元、多地多活 , 沉淀了丰富的机房级应用多活经验 。
AppActive 的开源 , 一是希望给多活提供一个统一的规范和定义 , 在这个基础上 , 大家才能共享成熟的实践经验 , 以避免因认知偏差带来的企业在基础设施成本、应用改造成本、运维成本等成本面的投入 , 从而让“多活”成为一项事实意义的普惠技术;二是基于标准 , 提供各个层次多活能力的实现 。
在应用多活的规范中 , 定义了 LRA(同城多活)、UDA(异地多活)、HCA(混合云多活)和 BFA(业务流量多活)4 层能力 。 在 AppActive 发布的第一个版本里 , 提供了 BFA 和 UDA 的基础能力 , BFA 和 UDA 的加强能力、LRA 和 HCA 的能力将成为后续的演进方向 。

借助以上能力 , 企业可以实现:
分钟级 RTO:恢复时间快 , 阿里内部生产级别恢复时间平均在 30s 以内 , 外部客户生产系统恢复时间平均在 1 分钟 。资源充分利用:资源不存在闲置的问题 , 多机房多资源充分利用 , 避免资源浪费 。切换成功率高:依托于成熟的多活技术架构和可视化运维平台 , 相较于现有容灾架构 , 切换成功率高 , 阿里内部年切流数千次的成功率高达 99.9% 以上 。流量精准控制:应用多活支持流量自顶到底封闭 , 依托精准引流能力将特定业务流量打入对应机房 , 企业可基于此优势能力孵化全域灰度、重点流量保障等特性 。分布式应用治理领域的开源 , 不仅是能力的开源 , 更重要的是规范和定义的统一 , AppActive 如此 , OpenSergo 亦是 。
在阿里云首届中间件开发者大会的会前问卷中 , 采用多种微服务框架或 RPC 框架混用的开发者比例达 24% 。 “语言和服务框架的异构会使得服务治理的成本呈现指数级的增加 , 一是因为每个开源框架和协议针对微服务治理的定义概念和能力都不一致 , 二是大家的治理模型和治理规则也是不同的 , 三是多云趋势下 , 不同云厂商提供的服务治理相关的 PaaS 服务(例如阿里云的 Serverless 应用引擎 SAE)也不同 , 这就会使得开发者无论是在认知还是技术迭代上都会存在非常大的限制 。 ”OpenSergo 创始人望陶在接受 InfoQ 的采访时提到 。
2022 年 4 月 , OpenSergo 对外开源 , 该项目由阿里云、bilibili、字节 , 以及 Spring Cloud Alibaba、Nacos、Apache Dubbo、Sentinel、Sofa 社区共同维护 , 旨在构建一个和语言无关、和技术形态无关 , 但贴近业务的统一服务治理规范和实现 。 他的定位和能力就像项目的命名一样 , Open 是开放的意思 , Sergo 则是取了服务治理两个英文单词 Service Governance 的前部分字母 Ser 和 Go , 合起来即是一个开放的服务治理项目 。