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

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)

    分享創造快樂