蚂蚁集团为何选择SOFAMosn:微服务与安全驱动的ServiceMesh深析

0 下载量 21 浏览量 更新于2024-08-31 收藏 994KB PDF 举报
本文深入探讨了蚂蚁集团为何选择ServiceMesh,特别是其开源实现SOFAMosn在数据平面的底层设计和实践。以下是关键知识点: 1. 微服务和云原生转型: 蚂蚁全面拥抱微服务和云原生技术,如SOFA5和K8S容器平台Sigma的引入,促使ServiceMesh成为构建高效、可扩展服务架构的关键组件,因为它们提供了服务之间的连接、管理和监控。 2. 流量调度的重要性: 蚂蚁的运维体系依赖于精细的流量调度,如LDC架构在逻辑zone间的流量控制,以及弹性伸缩和容灾等场景。ServiceMesh在此方面的需求是健壮、灵活且具有扩展性的,以适应金融业务的高可用性和安全性要求。 3. 金融行业的安全需求: 蚂蚁作为金融企业,对服务鉴权有严格标准,如使用国密技术、加密卡证书管理以及高性能加解密等,这就要求ServiceMesh具备高度的安全保障能力。 4. 语言和技术栈的统一: 蚂蚁内部技术栈多样,引入ServiceMesh可以降低不同语言体系间的协作成本。SOFAMosn作为Golang自研的数据平面,考虑了技术选型、研发效率和现有体系的兼容性,同时验证了性能满足需求。 5. SOFAMosn的设计与特性: - 基于Istio架构,SOFAMosn替换Envoy,体现了蚂蚁在实践中的改进。 - 0.1.0版本支持xDS V0.4 API,重点集成SOFARPC协议,已经在蚂蚁内部生产环境中应用。 - 提供四层数据流处理架构:网络IO层负责IO操作,二进制协议处理层处理数据包,协议流程处理层处理通信逻辑,转发路由处理层负责路由决策。 6. 分层设计的优势: 分层设计使得SOFAMosn在处理入站和出站数据时更加模块化,提高了灵活性和可维护性,同时也便于进行功能扩展和优化。 通过以上分析,我们可以看到蚂蚁在选择和定制ServiceMesh数据平面时的深度思考,以及SOFAMosn在实际场景中的关键作用,包括性能、安全和运维效率的提升。这不仅有助于蚂蚁集团的业务发展,也为其他采用类似技术栈的组织提供了有价值的参考。