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

SOFA Weekly | 每周精選【3/25 – 3/29】

SOFA WEEKLY | 每周精選,篩選每周精華問答

同步開源進展,歡迎留言互動

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

SOFA 文件: https://www.sofastack.tech/

SOFA: https://github.com/alipay

  每周讀者問答提煉  

歡迎大家向公眾號留言提問或在群里與我們互動

我們會篩選重點問題通過 

” SOFA WEEKLY ” 的形式回覆

 

1、

@ 天行健 提問:

請問下,SOFA 的超時時間設置可以到方法粒度嗎?

A:可以的。具體可以查看相關文件:

https://www.sofastack.tech/sofa-rpc/docs/Bolt-Timeout

沒有提供註解的方式嘛?

A:目前還沒有,我們可以後面添加一下。記錄了一個 issue,可以跟進這個 issue 的進展。Issue:

https://github.com/alipay/sofa-rpc/issues/560

 SOFARegistry 可以用來做多機房流量調度嗎?

A:SOFARegistry 本身有 Data Center 的概念,這個 Data Center 是虛擬概念,你可以把不同機房指定同一個 Data Center,也可以不同機房不同 Data Center,Data Center 之間是隔離的,不會同步資料。

 

2、關於 SOFARegistry 的討論

專案地址:https://github.com/alipay/sofa-registry

 

@ liuyanghejerry 提問:

感覺把 Tair 又寫了一遍…

A:在資料分片上思路和 Tair 類似,但分片的一致性實現沒有 Tair 複雜(Tair 做得更強);SOFARegistry 的分片一致性最終需要依賴內部的 Session 節點做資料心跳來保證,當然這也是和產品的功能和定位有關,服務發現在一致性要求上沒有 KV 系統那麼高。另外在其他方面也是有很多區別的,比如資料模型,在 SOFARegistry 上單個服務的地址串列,是來自各個業務機器的 Pub 的彙總,而不是純粹的 KV 。

@ Lorgine 提問:

缺少一個跟 Nacos 對比?

A:SOFARegistry 和 Nacos 最主要的不同是:Nacos 把配置管理和服務發現的功能集成在一起;SOFARegistry 專註於服務發現和服務註冊能力,對於配置管理部分會有另外的配置中心產品進行獨立承載職責,這樣的劃分形式希望職責分明,每種能力都做到最強。

   每周 SOFA 進展  

 

本周發佈詳情如下:

1、發佈 SOFARegistry v5.2.0,主要變更如下:

i. 支持服務發佈及訂閱

ii. 豐富的 REST 接口以支持健康檢查及運維管理

iii. 採用分層架構及資料分片,支持海量連接及海量資料

iv. 採用 AP 架構,保證網絡分割槽下的可用性

v. 基於 SOFABolt 通信框架,服務上下線秒級通知

詳細參考發佈報告:

https://github.com/alipay/sofa-registry/releases/tag/v5.2.0

 

2、發佈 SOFAJRaft v1.2.4,主要變更如下:

i. 修複一種情況下 lease read 的 stale read

ii. 部分 timestamp 修改為 monotonic time

iii. 修複一種情況下 replicator 被 block 住的問題

iv. 解決 Windows 平臺下某些單測無法創建目錄

v. 解決 Windows 平臺下某些 rocksdb options 設置不當導致行程 crash

詳細參考發佈報告:

https://github.com/alipay/sofa-jraft/releases/tag/1.2.4

 

3、發佈 SOFALookout v1.5.3,主要變更如下:

i. 增加採集 Linux 操作系統的記憶體 Metrics 指標

詳細參考發佈報告:

https://github.com/alipay/sofa-lookout/releases/tag/1.5.3

 

4、發佈 SOFAMosn v0.4.1,主要變更如下:

i. 新功能支持

  • Metrics 輸出方式支持擴展,預設實現 Console 輸出和 Prometheus 輸出

  • Metrics 支持 Exclusion 配置

  • Logger 支持動態更新 Level、動態開關
  • Requestinfo 中記錄的 Status Code 統一採用 Http Status Code 作為標準
  • 路由支持在特定場景下通過 KV 直接獲取、支持針對 VirtualHost 的路由添加與刪除
  • HTTP 協議支持100 Continue
  • 支持 Tars 協議
  • 支持 SOFARPC 的心跳包空閑發送、支持針對不同的 sub protocol 建立連接
  • 支持全新的平滑升級樣式
  • 新增 ADMIN API

ii.性能優化

  • 動態配置檔案更新性能優化
  • Tracer 實現性能優化
  • HOST 更新性能優化

iii. 代碼結構、接口函式重構

  • Stream 包結構、接口重構
  • Logger 寫日誌修改為異步寫
  • xds 轉換代碼重構
  • 路由鏈支持更加靈活的自定義方式
  • 部分通用函式整理到 utils 包中

iv. 可擴展性支持

  • 健康檢查探測方式、探測回呼可擴展,預設探測方式為 Tcp Dial
  • Buffer 記憶體復用模塊可擴展
  • LB 型別可擴展
  • 配置檔案解析方式可擴展,預設為解析 json 檔案

v. BUG FIX

  • Buffer 的併發問題
  • WorkPool 的 Flush、Reset 導致死鎖問題
  • 併發衝突問題
  • HTTP2 處理 Trailer 的問題
  • 其他 Bug Fix

詳細參考發佈報告:

https://github.com/alipay/sofa-mosn/releases/tag/0.4.1

    赞(0)

    分享創造快樂