SOFA WEEKLY | 每週精選,篩選每週精華問答,同步開源進展,歡迎留言互動
SOFA 中介軟體是螞蟻金服自主研發的金融級分散式中介軟體,包含了構建金融級雲原生架構所需的各個元件,包括微服務研發框架,RPC 框架,服務註冊中心,分散式定時任務,限流/熔斷框架,動態配置推送,分散式鏈路追蹤,Metrics 監控度量,分散式高可用訊息佇列,分散式事務框架,分散式資料庫代理層等元件,也是在金融場景裡錘煉出來的最佳實踐。
SOFA 檔案: https://www.sofastack.tech/
SOFA: https://github.com/alipay
每週讀者問答提煉
歡迎大家向公眾號留言提問或在群裡與我們互動,我們會篩選重點問題透過
” SOFA WEEKLY ” 的形式回覆
本週 SOFA 團隊進行了第一次的線上直播,針對大家的提問,我們整理了問答:
1、
SOFA DTX 基於 GTS 的嗎?
A:GTS 是阿裡雲上的一款產品。SOFADTX 是螞蟻金服從07年開始就一直內部使用的中介軟體。兩者沒有直接的關係。SOFA DTX 沒有暫未開源,開源準備中,現在是雲上的產品,參見
https://tech.antfin.com/products/DTX 。
2、
資訊收集器最後存哪裡啊?
A:目前是記憶體中來取樣計算的。
具體可以看一下相關內容介紹:【剖析|SOFARPC框架】系列之SOFARPC單機故障剔除剖析
3、
SOFARPC 跟 Dubbo 有什麼異同,我們現在是 Dubbo,能否遷移到 SOFARPC?
A:Dubbo 是阿裡最早開源的一個非常優秀的RPC框架,最早是在阿裡的B2B部門使用的,後面內部沒有使用也沒有持續維護,不過從去年開始重啟維護進入 Apache 基金會孵化,今年也馬上畢業了,它現在的生態也比較日漸完整。
SOFARPC 經過了螞蟻金服集團內部多年的獨立發展,目前脫離為一個獨立的產品。SOFARPC 在協議,網路,路由,可擴充套件性等層面都進行了大量的改造和最佳化的工作,以滿足螞蟻金服大規模金融級的業務場景。在螞蟻金服內部,SOFARPC 在螞蟻中介軟體(SOFAStack)的生態下,有完善的微服務技術棧支援,包括微服務研發框架,RPC 框架,服務註冊中心,分散式定時任務,限流/熔斷框架,動態配置推送,分散式鏈路追蹤,Metrics監控度量等等。截止 2017 年雙十一,SOFARPC 已經被螞蟻幾千個系統所使用,生產環境釋出的介面數量超過了幾萬。
但是在開源領域,SOFARPC 目前還是一個起步階段,開源生態還在建設當中,隨著開源計劃的推進,我們會在後續的版本里增加各個周邊元件,完善微服務技術棧。同時也歡迎大家來貢獻,共同打造 SOFAStack。
至於功能對比,單從效能和擴充套件性角度都差不多。不過螞蟻內部這麼多年也積攢了一些獨特的特性如服務預熱權重、自動故障降級、協商機制、CRC 資料校驗等,結合 SOFABoot 可以實現 RPC 框架與業務的類隔離防止類衝突等等,另外 SOFARPC 在跨單元機房的路由,包括配合服務註冊體系實現的對異地多活的支撐也是非常有特色的,期望後面能逐步跟大家分享討論,甚至形成行業標準。
至於遷移,是可以的,其實是比較簡單的,例如用 Spring Boot 的話,就是換幾個註解,工作量也沒有太大的難度。
4、
看到 issue 裡記錄了 SOFA 在做管控臺,想問一下 SOFARPC 服務治理的管控臺什麼時候會開放一個可用的版本呢?可能會包含哪些功能呢?
A:SOFA 管控臺,其實我們做的不是 SOFARPC 管控臺這麼一個能力,我們把他認為是 SOFAStack 的一個管控臺,服務治理內的能力是第一期就會出去的,包括服務檢視、服務上下線等能力,其他也可以對接其他的一些註冊中心、配置中心的能力。我們應該在年後會有第一個版本開源出去。另外,我們也會將 SOFABoot 的 ARK 動態模組管控能力之類的整合進去,其實因為我們都是基於 SOFABoot 的,後面會有類似 SOFABootAdmin 的相關能力也會放在 SOFADashboard 中。
5、
看了RPC的設計,想問一下RPC中如果想實現多活的情況,是否有一些建議呢?
A:多活的架構的話肯定不是 RPC 一個單獨元件的事情,而是整個微服務體系相互配合的事情。在 RPC 框架裡體現的一般就是服務發現、路由的過程,因為可能需要從多個註冊中心獲取地址,然後自定義一些路由器按照一定邏輯路由。
6、@風吹草不動 提問:
能否提供一個微服務執行配置推薦,最好推薦一個單伺服器可以 run 起來的版本,就是最小配置;微服務現在隨便起一套 demo 就要吃掉兩臺刀片,大佬們有沒有辦法壓縮一下,支援開發版本的一個基礎配置,目前是開發環境一個service 配 2G 的記憶體。
A:可以調整的,根據服務情況來配置引數,看你的量,如果量小,可以把配置調整小一點。
單個服務,只開發用,無併發。想問下你們開發環境機器的配置,你們是1:1線上環境配置開發資源嗎?
A:肯定不是的,線上的配置要高很多,整個叢集的規模也會大很多。
一般你們開發起服務給多少資源?
A:一般還是看情況的,要求不高,分配容器的時候資源可以給的很少。
已傳送
朋友將在看一看看到
分享你的想法…
分享想法到看一看