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

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)

    分享創造快樂