SOFA WEEKLY | 每週精選,篩選每週精華問答,同步開源進展,歡迎留言互動
SOFA 中介軟體是螞蟻金服自主研發的金融級分散式中介軟體,包含了構建金融級雲原生架構所需的各個元件,包括微服務研發框架,RPC 框架,服務註冊中心,分散式定時任務,限流/熔斷框架,動態配置推送,分散式鏈路追蹤,Metrics 監控度量,分散式高可用訊息佇列,分散式事務框架,分散式資料庫代理層等元件,也是在金融場景裡錘煉出來的最佳實踐。
SOFA 檔案: https://www.sofastack.tech/
SOFA: https://github.com/alipay
每週推薦閱讀
SOFARPC 效能最佳化實踐(上)| SOFAChannel#2 直播整理
每週讀者問答提煉
歡迎大家向公眾號留言提問或在群裡與我們互動,我們會篩選重點問題透過
” SOFA WEEKLY ” 的形式回覆
@小註快跑 提問:
SOFARPC 支援 Dubbo 的 version 嗎?
A:支援,就是 unique-id
不是說 unique-id 可用做 group ,當 version 的 group 同時存在,怎麼說?
A:Dubbo 是以介面 +protocol+group+version 作為唯一,SOFARPC 以介面 +protocol+uniqueId 作為唯一。所以 uniqueId 類似於 group+version 組合的意思了。
SOFARPC 的 Dubbo 協議支援原生 Dubbo 呼叫嗎?
A:目前是 Dubbo 協議的處理是適配到原生 Dubbo 的。
@神都 提問:
方便說一下 SOFA 釋出過程中的灰度嗎?比如一個介面引數修改了,老的和新的呼叫的灰度。
A:這種的話修改引數裡的欄位目前是支援的,修改引數型別或者個數的話需要開新的方法或者新的介面,保持老方法的相容性。
@Xel’Naga 提問:
你們現在的 SOFATracer 對 springcloud 的元件都支援了嗎?
A:還沒有哈,這塊我們是希望直接對接到 opentracing-contrib
在我看到的結果裡 opentracing 現在對 springcloud 的支援也不是太好,而且 opentracing 本身自己並沒有啥實質內容,只是個檔案。
A:可以看一下這個內容:
https://github.com/opentracing-contrib/java-spring-cloud
那個我看過了,我也接過了。因為一旦元件失敗還會影響到業務,所以我就放棄了,覺得它的設計有問題,也不知道是不是bug,issue太多,基本上也是屬於支援得不太好的那種,最起碼出 bug 了不能影響服務啊。
A:你是用 brave 的嗎?
是的。
A:恩,如果有這方面需求的話可以先在 tracer 下建個 issue,你說的 brave 會對業務造成影響這點我需要驗證下,我理解應該是不會的。
brave 沒有問題,是 opentracing 的 java 探針有問題。現在用的 springcloud 的原生方案。
A:opentracing 只是知道規範,它沒有具體實現的。
每週 SOFA 進展
本週釋出詳情如下:
1、釋出 SOFABoot v2.6.2 , 主要變更如下:
i. 升級 sofa-rpc-starter 版本至 v5.5.1
詳細參考釋出報告:
https://github.com/alipay/sofa-build/releases/
2、釋出 SOFABoot v3.1.2 , 主要變更如下:
i. 修複當配置 management.port 時,健康檢查傳回錯誤結果;
ii. 支援 Spring Bean 非同步初始化,提升啟動速度;
iii. 支援擴充套件點機制,方便模組開發時擴充套件三方包邏輯;
iv. 最佳化 SOFABoot 框架內部 BeanPostProcessor 的順序控制;
v. 修複 Demo 演示工程
詳細參考釋出報告:
https://github.com/alipay/sofa-boot/releases
3、釋出 SOFARPC v5.5.1 , 主要變更如下:
i. 支援連線復用與獨立使用
ii. 支援bytebuddy 作為代理生成方式
iii. 支援rest server 的lookout 資訊上報
iv. 重構故障剔除模組為擴充套件點方式
v. 其他功能增強
詳細參考釋出報告:
https://github.com/alipay/sofa-rpc/releases
4、釋出 sofa-common-tools v1.0.18, 主要變更如下:
i. 修複當配置 sofa.middleware.log.disable 時,配置解析失敗;
詳細參考釋出報告:
https://github.com/alipay/sofa-common-tools/releases
5、釋出 SOFATracer v2.3.3 , 主要變更如下:
i. 最佳化在非同步透傳情況下(使用SofaTracerRunnable/SofaTracerCallable時),保持MDC中不丟失traceId和spanId
ii. 修複 Okhttp3 上報 zipkin 問題
詳細參考釋出報告:
https://github.com/alipay/sofa-tracer/releases/tag/v2.3.3
SOFA 使用者召集
SOFA 各元件已經開源十個月了,感謝大家一如既往地對 SOFAStack 的關註和支援,近期我們將啟動金融級分散式架構主題的線下交流活動計劃,屆時邀請大家參與或分享關於金融級分散式架構的一切。
我們也為線上使用使用者建立了“SOFAStack 金牌使用者服務”釘釘群,如果您已經在生產環境中使用 SOFAStack 的任何一個元件,還請告知我們,我們將會把您加入到 “SOFAStack金牌使用者服務群【邀約制】”裡面,以便更加快捷的溝通和更加高效的線上使用問題支援。
登記地址:
https://www.sofastack.tech/awesome
SOFA 活動推薦
有趣實用的分散式架構頻道,將作為 SOFA 所有線上內容的承載,包含直播/音影片教程,集中體現 SOFAStack 的能力全景圖。
SOFAChannel 第二期詳細介紹 SOFARPC 框架的開源部分效能最佳化點,直播回顧見上文推薦閱讀。
SOFAChannel 第三期會帶來關於 SOFARPC 框架 的執行緒池隔離、Server Fail Fast、記憶體操作最佳化、使用者可調節引數等方面的介紹。
2月28日一起來聊聊《SOFARPC 效能最佳化(下)—— 手把手帶你效能調優》,老時間見~
點選閱讀原文或連結直接報名:
https://tech.antfin.com/activities/245?chInfo=wx
長按關註,獲取分散式架構乾貨
歡迎大家共同打造 SOFAStack https://github.com/alipay