歡迎光臨
每天分享高質量文章

SOFA Weekly | 每週精選【3/4 – 3/8】

SOFA WEEKLY | 每週精選,篩選每週精華問答,同步開源進展,歡迎留言互動

SOFAStack(Scalable Open Financial Architecture Stack)是螞蟻金服自主研發的金融級分散式中介軟體,包含了構建金融級雲原生架構所需的各個元件,包括微服務研發框架,RPC 框架,服務註冊中心,分散式定時任務,限流/熔斷框架,動態配置推送,分散式鏈路追蹤,Metrics 監控度量,分散式高可用訊息佇列,分散式事務框架,分散式資料庫代理層等元件,也是在金融場景裡錘煉出來的最佳實踐。

SOFA 檔案: https://www.sofastack.tech/

SOFA: https://github.com/alipay

   每週推薦閱讀   

2019大揭秘 之 極速核對資料傳輸之戰

SOFARPC 5.5.X 新版釋出啦 | 整合 Nacos 與 Hystrix

  每週讀者問答提煉  

歡迎大家向公眾號留言提問或在群裡與我們互動,我們會篩選重點問題透過 

” SOFA WEEKLY ” 的形式回覆

 

@陳衛 提問:

SOFA 客戶端在啟動的時候,可不可以關閉服務是否可用的檢測?

A:關閉健康檢查嗎?

不是的,服務消費端在啟動的時候,會到註冊中心拉取可用的服務提供者,由於需要消費的服務非常的多,導致啟動服務要很久,開發環境不需要在啟動的時候做這個事情,影響開發的效率。

A:RPC 元件健康檢查會檢查地址推送,跳過健康檢查應該可以嘗試使用這個配置

-Dcom.alipay.sofa.healthcheck.skip.component=true

相關檔案:

https://www.sofastack.tech/sofa-boot/docs/HealthCheck

 

@chpengzh 提問:

這邊涉及了一個系統改造,有個狀態服務 A 實現了服務函式 a,其中 a 業務拿了 SpanContext 物件去加了一些關鍵事件。正常情況下服務 B 去呼叫 A#a 時候在呼叫入口都做了執行緒背景關係埋點,但是如果 A 可能會有定時任務去拉起 a,這個時候在定時任務執行緒池就會缺少 SpanContext 。要麼在 a 實現中判空,要麼新增這個埋點。

如果要埋點的話,springboot 裡面有沒有比較好的實現方案,我的問題就是這個。

A:你可以自己把 SpanContext 傳遞到你的任務執行緒中。

嗯。唯一麻煩的就是 schedule 入口多而且雜。

A:因為你 schedule 是非同步呼叫,就算是實現對元件的埋點,也還是需要在不同執行緒間來傳遞背景關係!

其實我倒是更關心 schedule 做呼叫鏈起點的情況,如果做起點能不能像 server 的 filter 一樣生成一個 context 呢?

A:是可以的。

嗯。如果要實現的話,有沒有什麼建議呢?在哪裡去新增這段程式碼?現在的業務程式碼入口有的走註解,有的走 registrybean。

A:可以參考一下這個思路:螞蟻金服分散式鏈路跟蹤元件埋點機制 | 剖析

@陳智翔 提問:

我在用 Nacos 作為 SOFARPC 註冊中心時有些疑問:

如果是 SOFABoot 環境,是隻有 2.5.3 版本支援,還是以上版本都支援?

我用 3.1.1 和 3.1.2 版本的 SOFABoot,服務提供放好像不會在 Nacos 註冊服務。消費方在獲取服務時也會報錯:registry config [nacos://127.0.0.1:8848] is not supported

有人能解答一下嗎?

A:SOFABoot v3.1.2 版本中已經進行整合,詳細參考釋出報告:

https://github.com/alipay/sofa-boot/releases

 

   每週 SOFA 進展  

 

本週釋出詳情如下:

1、釋出 SOFABoot v3.1.2 版本 , 主要變更如下:

i. 升級 sofa-rpc-starter 版本至 v6.0.1

ii. 升級 sofa-hessian 版本至 v4.0.3

iii. 升級 sofa-ark 版本至 v0.6.0

iv. 最佳化 sofa-ark 合併部署應用的 JVM 服務呼叫

v. 修複 SOFABoot 攜帶應用入參啟動失敗問題

詳細參考釋出報告:

https://github.com/alipay/sofa-boot/releases

 

2、釋出 SOFARPC Starter v6.0.1 版本,主要變更如下:

i. 允許使用者透過配置關閉tracer

ii. 對REST 服務支援swagger

iii. 註解能力增強

詳細參考釋出報告:

https://github.com/alipay/sofa-rpc-boot-projects/releases/tag/v6.0.1

 

3、釋出 SOFABolt v1.5.3 版本,主要變更如下:

i. 移除了對sofa-hessian的強依賴,支援使用原生的hessian

ii. 非同步樣式下移除Timeout物件對RequestCommand物件的取用,最佳化記憶體使用

iii. 其他程式碼細節最佳化

詳細參考釋出報告:

https://github.com/alipay/sofa-bolt/releases/tag/v1.5.3

 

4. 釋出 sofa-hessian v4.0.3 版本,主要變更如下:

i. ContextSerializerFactory 在 SOFAArk 場景最佳化

詳細參考釋出報告:

https://github.com/alipay/sofa-hessian/releases

 

5. 釋出 sofa-ark v0.6.0 版本,主要變更如下:

i. 支援多 Web 應用合併部署

ii. 支援使用 zookeeper 動態推送配置實現應用(模組)的動態部署

iii. 支援 telnet 命令檢視 plugin, biz 執行時資訊

iv. 增加 SOFAArk 執行時配置,包括日誌配置,plugin, biz的鈍化、啟用配置

v. 支援 plugin 的服務擴充套件機制以及多應用(模組)事件機制通訊

vi. 修複社群反饋的多個問題

詳細參考釋出報告:

https://github.com/alipay/sofa-ark/releases

    贊(0)

    分享創造快樂