SOFA Weekly | SOFA-Common-Tools 發佈新版本, QA 整理

SOFA WEEKLY | 每週精選,篩選每週精華問答
同步開源進展,歡迎留言互動
SOFAStack(Scalable Open Financial Architecture Stack)是螞蟻集團自主研發的金融級雲原生架構,包含了構建金融級雲原生架構所需的各個組件,包括微服務研發框架,RPC 框架,服務註冊中心,分佈式定時任務,限流/熔斷框架,動態配置推送,分佈式鏈路追蹤,Metrics 監控度量,分佈式高可用消息隊列,分佈式事務框架,分佈式數據庫代理層等組件,也是在金融場景裏錘鍊出來的最佳實踐。
SOFAStack 官網: https://www.sofastack.tech
SOFAStack: https://github.com/sofastack

  每週讀者問答提煉  

歡迎大家向公衆號留言提問或在羣裏與我們互動
我們會篩選重點問題通過 
" SOFA WEEKLY " 的形式回覆


1、@薛帥領 提問:

多數據源切換後,增加事務但不起作用(切數據源是執行方法後才切換的),事務及 Seate 分佈式事務也不可以,這個有什麼好的解決方案嗎?

A:Spring 本地事務註解本身就不支持多數據源事務,且如果你開啓了本地事務,之後並不會進入你的切換數據源的切面。在多數據源下,去掉本地事務註解就好了。用 globaltransactional 註解在多數據源的入口加上,多個數據源都被 Seata 代理的話,就會保證多數據源的事務。


2、@李天宇 提問

如果在分佈式事務中,另一個線程做批處理 update 之類的,是否會鎖住呢?

A:不會,另一個線程也要記得加上 globaltransactional 註解就行了。在 a 線程要提交之前要去嘗試拿到它修改數據的全局鎖的,如果 a 拿到了,但是還沒到二階段提交,b 也是要去嘗試拿,拿不到就會不執行 SQL ,等待全局鎖釋放了,也就是 a 發起的事務結束了,b 才能執行 SQL 提交。這樣就保證了利用全局鎖(粒度行級),來達到隔離性。

Seata:https://github.com/seata/seata


   本週推薦閱讀   


  SOFA 項目進展  

本週發佈詳情如下:
SOFA-Common-Tools 發佈1.3.0版本,主要變更如下:
  • SOFA 線程池支持 ScheduledThreadPoolExecutor 與 ThreadPoolTaskScheduler

  • 新增 SofaConfigs 支持統一的配置獲取

  • 新增 LogCode2Description 支持統一的錯誤碼獲取

  • 重構線程池實現,支持更豐富的監控數據

  • 所有組件統一 spce 屬性獲取邏輯

  • 修復配置日誌輸出到控制檯時不生效的問題


詳細參考:
https://github.com/sofastack/sofa-common-tools/releases/tag/v1.3.0

本文歸檔在 sofastack.tech。

本文分享自微信公衆號 - 金融級分佈式架構(Antfin_SOFA)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章