开源 | 蚂蚁金服分布式中间件开源第三弹: 下一代微服务SOFAMesh

本文涉及的产品
性能测试 PTS,5000VUM额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 小蚂蚁说: 4月,蚂蚁金服自主研发的分布式中间件(Scalable Open Financial Architecture,以下简称 SOFA )启动开源计划,并开放多个组件,(相关背景请点击链接阅读《开源 |蚂蚁金服启动分布式中间件开源计划,用于快速构建金融级云原生架构》、《开源 | 蚂蚁金服分布式中间件开源第二弹:丰富微服务架构体系》),这一系列的动作受到大家的关注和支持,SOFA社区也日益壮大。

小蚂蚁说:

4月,蚂蚁金服自主研发的分布式中间件(Scalable Open Financial Architecture,以下简称 SOFA )启动开源计划,并开放多个组件,(相关背景请点击链接阅读《开源 |蚂蚁金服启动分布式中间件开源计划,用于快速构建金融级云原生架构》、《开源 | 蚂蚁金服分布式中间件开源第二弹:丰富微服务架构体系》),这一系列的动作受到大家的关注和支持,SOFA社区也日益壮大。

在两轮开源之后,蚂蚁金服自主研发的分布式中间件(Scalable Open Financial Architecture,以下简称 SOFA )在今天推出了第三轮的开源产品:SOFAMesh。和前两轮开源的历经多年沉淀和打磨的成熟产品不同,本轮的开源主角SOFAMesh,将探索一条和以往产品有所不同的开源道路。下面我们就来看看到底有哪些不同吧!


开源探索之路

SOFAMesh尝试在以下几个方面进行自我突破和勇敢探索:

  1. 全新的技术领域
  2. Service Mesh是目前技术社区最为炙手可热的新技术方向,有下一代微服务的明显趋势。但是目前Service Mesh技术还处于发展早期,暂时还没有成熟的产品,尤其缺乏大规模的落地实践。
  3. 较早的开源时间
  4. 在上述背景下,我们选择了将启动不久的Service Mesh产品开源在开发早期,也就是还未成熟之时,就对社区开放,开放源码并寻求社区合作。
  5. 更加开放的态度
  6. 在SOFAMesh上,我们愿意以开源共建的方式来和社区一起推进Service Mesh技术的更好发展和实现落地实践,共同打造一个技术先进,功能丰富,具备良好的性能和稳定性,可以实实在在的生产落地的优秀产品。欢迎国内技术社区的朋友们和我们开展不同层面的交流与合作。
  7. 务实的产品路线
  8. SOFAMesh在产品路线上,选择了跟随社区主流,我们选择了目前Service Mesh中最有影响力和前景的Istio。SOFAMesh会在Istio的基础上,提升性能,增加扩展性,并在落地实践上做探索和补充,以弥补目前Istio的不足,同时保持与Istio社区的步骤一致和持续跟进。

SOFAMesh介绍

SOFAMesh将在兼容Istio整体架构和协议的基础上,做出部分调整:

开源|蚂蚁金服分布式中间件开源第三弹:下一代微服务SOFAMesh

  1. 使用Golang语言开发全新的Sidecar,替代Envoy
  2. 为了避免Mixer带来的性能瓶颈,合并Mixer部分功能进入Sidecar
  3. Pilot和Citadel模块进行了大幅的扩展和增强

我们的目标:打造一个更加务实的Istio落地版本!

备注:以上架构调整的细节以及我们做调整的出发点和原因,请浏览 蚂蚁金服大规模微服务架构下的Service Mesh探索之路(可点击查看) 一文,有非常详尽的解释。

开源内容

在本轮开源中,我们将推出SOFAMesh目前正在开发的两大模块:MOSN和SOFAPilot。

1.MOSN

SOFAMesh中Golang版本的Sidecar,是一个名为MOSN(Modular Observable Smart Netstub)的全新开发的模块,实现Envoy的功能,兼容Envoy的API,可以和Istio集成。

开源|蚂蚁金服分布式中间件开源第三弹:下一代微服务SOFAMesh

此外,我们会增加对SOFARPC、Dubbo等通讯协议的支持,以便更好的迎合国内用户包括我们自身的实际需求。

由于Sidecar相对独立,而且我们也预期会有单独使用MOSN的场景,因此MOSN的代码仓库是独立于SOFAMesh的,地址为:

https://github.com/alipay/sofa-mosn

欢迎大家使用,提供需求、反馈问题、贡献代码或者合作开发。

2.SOFAPilot

我们将大幅扩展和增强Istio中的Pilot模块:

开源|蚂蚁金服分布式中间件开源第三弹:下一代微服务SOFAMesh

  1. 增加SOFARegistry的Adapter,提供超大规模服务注册和发现的解决方案
  2. 增加数据同步模块,以实现多个服务注册中心之间的数据交换。
  3. 增加Open Service Registry API,提供标准化的服务注册功能

MOSN和SOFAPilot配合,将可以提供让传统侵入式框架(如Spring Cloud,Dubbo,SOFA RPC等)和Service Mesh产品可以相互通讯的功能,以便可以平滑的向Service Mesh产品演进和过渡。

Pilot和后面会陆续开放的Mixer,Citadel等Istio模块,会统一存放在同一个从Istio Fork出来的代码仓库中。未来会持续更新Istio最新代码,以保持和Istio的一致。

附录

本文中提到的链接地址合辑:

  • MOSN@github:
  • https://github.com/alipay/sofa-mosn
  • SOFAMesh@github:
  • https://github.com/alipay/sofa-mesh
  • SOFAMesh官方网站:
  • http://www.sofastack.tech/
  • SOFAMesh官方文档:
  • http://www.sofastack.tech/sofa-mesh/docs/Home
  • 蚂蚁金服大规模微服务架构下的Service Mesh探索之路

交流社群

我们也为对 SOFA 中间件感兴趣的同学准备了微信的交流群,欢迎感兴趣的同学添加加群小助手(微信号:Ant-Techfin01)加入我们 SOFA 交流群讨论和咨询相关问题哦。

目录
相关文章
|
2月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
2月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
3月前
|
存储 缓存 监控
分布式链路监控系统问题之kywalking在后期维护过程中可能会遇到中间件版本升级的问题如何解决
分布式链路监控系统问题之kywalking在后期维护过程中可能会遇到中间件版本升级的问题如何解决
|
3月前
|
存储 消息中间件 Apache
比较微服务中的分布式事务模式
比较微服务中的分布式事务模式
71 2
|
1月前
|
消息中间件 存储 负载均衡
微服务与分布式系统设计看这篇就够了!
【10月更文挑战第12天】 在现代软件架构中,微服务和分布式系统设计已经成为构建可扩展、灵活和可靠应用程序的主流方法。本文将深入探讨微服务架构的核心概念、设计原则和挑战,并提供一些关于如何在分布式系统中实现微服务的实用指导。
56 2
|
1月前
|
人工智能 文字识别 Java
SpringCloud+Python 混合微服务,如何打造AI分布式业务应用的技术底层?
尼恩,一位拥有20年架构经验的老架构师,通过其深厚的架构功力,成功指导了一位9年经验的网易工程师转型为大模型架构师,薪资逆涨50%,年薪近80W。尼恩的指导不仅帮助这位工程师在一年内成为大模型架构师,还让他管理起了10人团队,产品成功应用于多家大中型企业。尼恩因此决定编写《LLM大模型学习圣经》系列,帮助更多人掌握大模型架构,实现职业跃迁。该系列包括《从0到1吃透Transformer技术底座》、《从0到1精通RAG架构》等,旨在系统化、体系化地讲解大模型技术,助力读者实现“offer直提”。此外,尼恩还分享了多个技术圣经,如《NIO圣经》、《Docker圣经》等,帮助读者深入理解核心技术。
SpringCloud+Python 混合微服务,如何打造AI分布式业务应用的技术底层?
|
1月前
|
消息中间件 中间件 数据库
NServiceBus:打造企业级服务总线的利器——深度解析这一面向消息中间件如何革新分布式应用开发与提升系统可靠性
【10月更文挑战第9天】NServiceBus 是一个面向消息的中间件,专为构建分布式应用程序设计,特别适用于企业级服务总线(ESB)。它通过消息队列实现服务间的解耦,提高系统的可扩展性和容错性。在 .NET 生态中,NServiceBus 提供了强大的功能,支持多种传输方式如 RabbitMQ 和 Azure Service Bus。通过异步消息传递模式,各组件可以独立运作,即使某部分出现故障也不会影响整体系统。 示例代码展示了如何使用 NServiceBus 发送和接收消息,简化了系统的设计和维护。
48 3
|
3月前
|
监控 Go API
带你十天轻松搞定 Go 微服务之大结局(分布式事务)
带你十天轻松搞定 Go 微服务之大结局(分布式事务)
|
3月前
|
运维 安全 Cloud Native
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
|
3月前
|
监控 Java 开发者
随着软件开发的发展,传统单体应用已难以适应现代业务需求,微服务架构因此兴起,成为构建可伸缩、分布式系统的主流
随着软件开发的发展,传统单体应用已难以适应现代业务需求,微服务架构因此兴起,成为构建可伸缩、分布式系统的主流。本文探讨Java微服务架构的设计原则与实践。核心思想是将应用拆分为独立服务单元,增强模块化与扩展性。Java开发者可利用Spring Boot等框架简化开发流程。设计时需遵循单一职责、自治性和面向接口编程的原则。以电商系统为例,将订单处理、商品管理和用户认证等拆分为独立服务,提高可维护性和容错能力。还需考虑服务间通信、数据一致性及监控等高级话题。掌握这些原则和工具,开发者能构建高效、可维护的微服务应用,更好地应对未来挑战。
88 1
下一篇
无影云桌面