SOFA WEEKLY | 每週精選,篩選每週精華問答
同步開源進展,歡迎留言互動
SOFAStack(Scalable Open Financial Architecture Stack)是螞蟻金服自主研發的金融級分散式架構,包含了構建金融級雲原生架構所需的各個元件,包括微服務研發框架,RPC 框架,服務註冊中心,分散式定時任務,限流/熔斷框架,動態配置推送,分散式鏈路追蹤,Metrics 監控度量,分散式高可用訊息佇列,分散式事務框架,分散式資料庫代理層等元件,也是在金融場景裡錘煉出來的最佳實踐。
SOFA 檔案: https://www.sofastack.tech/
SOFA: https://github.com/alipay
每週推薦閱讀
螞蟻金服分散式事務開源以及實踐 | SOFA 開源一週年獻禮
詳解螞蟻金服 SOFAJRaft | 生產級高效能 Java 實現(文末有共建文章領取串列)
每週讀者問答提煉
歡迎大家向公眾號留言提問或在群裡與我們互動
我們會篩選重點問題透過
” SOFA WEEKLY ” 的形式回覆
@譚智超 提問:
SOFARPC 的客戶端想做 mock 測試,是使用 Filter 在中偽造傳回物件就可以嗎?還是有其它更好的實現?
A:之前有設想是在服務端管控一個 JSON 的物件表示,然後透過 Filter 中獲取某次呼叫的 mock 結果,然後進行對應的值改寫。大致思路是一樣的,主要是管控和結果的設定和賦值。
@ 李盼庚 提問:
請教大家一個問題哈,SOFAArk 做了類隔離了,是否具有動態更新的能力?在不重啟應用的情況下,變更某個 Ark Plugin?
A:可以參考下文連結內的動態合併部署,動態更新針對 Biz, 不針對 Plugin。
https://www.sofastack.tech/sofa-boot/docs/sofa-ark-readme
@ 浮雲 提問:
使用執行緒池的時候怎麼把 Trace 的背景關係傳遞過去?
A:有 TracerCallable 和 TracerRunnable。如果要實現遠端呼叫的話,看你的是什麼遠端呼叫,HTTP 還是 SOFARPC, 主要看 Tracer 有沒有對對應的元件進行埋點。具體可以參考下文連結:
https://www.sofastack.tech/sofa-tracer/docs/Async
@ 上海樹維-名-合肥 提問:
我測試了一種分庫測試案例,比如 A->B->C,在 B 裡面呼叫 C 之後和 B 執行本地事務程式碼之前打了斷點,呼叫 c 完成後,關閉 C 服務,然後執行完斷點程式碼,C 對應的資料庫裡面有 undo_log 日誌並且資料已經被修改,然後啟動服務 C,server 會通知 C 服務根據 undo_log 日誌回滾資料,資料回滾之後,undo_log 表裡面的那條日誌記錄狀態沒變化,不知道從哪裡能看出來已經根據這條日誌記錄進行回滾操作了。
A:業務資料和日誌上驗證,之前 v0.4 版本改動導致 undolog 一個 bug,不能自動刪除日誌。v0.4 之後的版本已修複,詳情如下:
https://github.com/seata/seata/pull/750/files
我覺得應該是 seate-server 通知的吧,如果不回滾,只能自己手動回滾嘛?
A:seata-server 是根據事務發起方的通知來協調的,也有可能是事務超時了。
server 不應該不斷重試 通知 C 去回滾嘛,要不然 需要手動處理的資料在生產時可能會很多。
A:整個事務是要回滾還是提交決定好以後,server 就會不停的去呼叫參與者。
那剛才這種案例 只能手動去處理了嘛?
A:不用的。C 如果被呼叫到,並且資料回滾了,那 undo_log 日誌也應該會刪除。不應該資料回滾了,日誌沒刪除的情況。
還有一種就是事務發起方 A 中途掛了,是不是也沒人通知 B 去回滾了?
A:通知參與者都是 server 來通知的。只不過事務提交還是回滾是發起方 A 告訴 server 的。
如果事務發起方 A 中途掛了或者網路抖動會怎麼樣?
A:server 會在事務超時後,去通知參與者回滾。
SOFA Missions
1、 SOFAJRaft Metric 統計介面化:允許可插拔的 Metric 類庫接入,預設是 Dropwizard,使用者可實現該介面提供其他實現,如 Micrometer 等。
Issue:
https://github.com/alipay/sofa-jraft/issues/38
2、檔案貢獻: 分散式計數器 Counter 例子時序圖。
Issue:
https://github.com/alipay/sofa-jraft/issues/93
SOFA 活動推薦
2019 年 3 月,螞蟻金服加入分散式事務 Seata 的社群共建中,並貢獻其 TCC 樣式。
系列第 4 期,4 月 18 日週四晚 7 點特邀 螞蟻金服 技術專家 & Seata Commiter 覺生 與大家分享《分散式事務 Seata TCC 樣式深度解析》。
| 複製連結至瀏覽器開啟 or 點選閱讀原文即可報名
http://t.cn/E6DoPlU
| 本期將帶來:
-
TCC 樣式基本原理解析
-
分散式事務併發控制解析
-
分散式事務空回滾與冪等解析
-
分散式事務防懸掛解析
-
分散式事務非同步化解析
| 加入 SOFA 釘釘互動群
歡迎加入直播互動釘釘群:23127468(搜尋群號加入即可)
朋友會在“發現-看一看”看到你“在看”的內容