阿里巴巴4.20最新開源框架!金融級雲原生分佈式架構正式發佈!

今天螞蟻金服正式開源分佈式中間件(Scalable Open Financial Architecture,以下簡稱 SOFA 中間件)!

阿里巴巴4.20最新開源框架!金融級雲原生分佈式架構正式發佈!

什麼

什麼是SOFA中間件?

SOFA 中間件是螞蟻金服自主研發的金融級分佈式中間件,包含了構建金融級雲原生架構所需的各個組件,

  • 包括微服務研發框架

  • RPC 框架

  • 服務註冊中心

  • 分佈式定時任務

  • 限流/熔斷框架

  • 動態配置推送

  • 分佈式鏈路追蹤

  • Metrics監控度量

  • 分佈式高可用消息隊列

  • 分佈式事務框架

  • 分佈式數據庫代理層等組件

是一套分佈式架構的完整的解決方案,也是在金融場景裡錘鍊出來的最佳實踐。螞蟻金服通過這麼多年積累出來的專為金融而生!

可替換性

開源社區有非常多優秀的技術和豐富的生態,為了更好的能融入和對接現有技術體系,尊重並遵守一些社區標準,SOFA 在設計過程中就充分考慮了兼容性和架構分層,充分兼容適配社區標準,實現組件化、可擴展、可替換。

所有的 SOFA 中間件中的組件組合起來可以發揮更大的能力,但是每一個組件都是可以被替換的,比如用戶可以選擇用 Dubbo 來替換 SOFARPC,或者跟 SOFARPC 對接互通;可以選擇 Zookeeper 來作為服務註冊發現,也可以選擇 SOFA 的服務註冊中心來做服務發現;分佈式鏈路追蹤組件遵守 OpenTracing 的規範,可以直接和 Zipkin 進行對接等等;Metrics組件會遵循 Metrics2.0 標準,適配 Prometheus 體系等等。

阿里巴巴4.20最新開源框架!金融級雲原生分佈式架構正式發佈!

本次 SOFA 中間件開源的內容包含了 SOFABoot SOFARPC 兩個組件。

SOFABoot

是螞蟻金服基於 Spring Boot 構建一個研發框架,整體架構上類似於螞蟻金服之前開源的Egg框架,遵守微內核,可插拔的理念,我們以標準 Spring Boot Starter的方式,擴展了很多企業級特性,以解決大規模團隊開發雲原生微服務系統中會遇到的問題,如類隔離,ReadinessCheck,日誌隔離等等能力,後續會開放更多內部實踐過的特性,如 Spring 上下文隔離,合併部署,動態模塊,Tracing、Metrics、Streaming、測試框架等。

同時,螞蟻的很多技術團隊和阿里的技術團隊也開放了很多類庫和組件,我們都會提供原生的集成能力和 Demo,方便大家更好的整合使用。SOFABoot 100% 兼容 Spring Boot,和 Spring Boot 並非是替代的關係,所有 Spring Boot 中的能力也都可以在 SOFABoot 中使用。

SOFARPC

是一個高效,可靠,可擴展的 RPC 的框架,

是螞蟻金服服務化架構的基石。SOFARPC 最早源於阿里內部的 HSF,經過了螞蟻金服內部多年的發展,在協議,網絡,路由,可擴展性等層面都進行了大量的改造和優化的工作,適配了更多金融級的場景。

SOFARPC 在螞蟻金服內部是被所有在線應用的使用的服務調用框架,截止 2017 年雙十一,SOFARPC 已經被螞蟻 2000 多個系統所使用,生產環境發佈的服務數量超過了 23000 個。

SOFARPC 提供了多協議的支持,包括在螞蟻金服內部被廣泛採用,並且高度優化的 Bolt 協議,以及 REST,Dubbo,gRPC 等等主流的協議;也針對內部網關,測試等等場景提供了泛化調用能力;為了解決超大規模流量的預熱的問題,提供了服務預熱的能力;用戶也可以根據 SOFARPC 的擴展機制擴展自己需要的能力。

在後續的版本中,SOFARPC 將會加上分佈式鏈路追蹤,Metrics,更多的服務註冊中心的支持,CRC 校驗等等能力。

阿里巴巴4.20最新開源框架!金融級雲原生分佈式架構正式發佈!

其他

除了以上的兩個 SOFA 中間件中的組件,在接下來,我們將會陸續開源 SOFA 中間件中的其他的組件,目前這些組件正在進行一定程度地重構中,為開源做準備,敬請大家期待~


分享到:


相關文章: