HAVE FUN | 原始碼解析活動進展

SOFAStack發表於2022-03-16

原始碼解析

在第一篇原始碼解析活動文中,我們介紹了 SOFARegistry 原始碼解析的詳細介紹與具體參與方法,錯過的小夥伴可以點選回顧哦,活動還在進行中...

活動釋出後的一週時間,我們收到了很多來自社群小夥伴們的建議和反饋,今天在這裡和大家分享一下。

活動進展

先來看看這一週的活動進展吧。

本次 SOFARegistry 原始碼解析任務共計釋出 9 個。

截至 3 月 16 日,原始碼解析任務僅剩 2 個任務未被認領,剩餘任務均在進行中,感謝大家的貢獻!?

各難度的原始碼解析任務完成度如下,我們通過這幾個 issue 來追蹤任務的完成進展,歡迎大家去認領還未被領走的原始碼解析任務哦。

待認領任務

通訊資料壓縮: https://github.com/sofastack/sofaregistry/issues/200

無損運維:https://github.com/sofastack/sofa-registry/issues/198

「專案介紹??‍♂️」

SOFARegistry 是螞蟻集團開源的一個生產級、高時效、高可用的服務註冊中心。SOFARegistry 最早源自於淘寶的 ConfigServer。十年來,隨著螞蟻集團的業務發展,註冊中心架構已經演進至第五代。

目前 SOFARegistry 不僅全面服務於螞蟻集團的自有業務,還隨著螞蟻金融科技服務眾多合作伙伴,同時也相容開源生態。SOFARegistry 採用 AP 架構,支援秒級時效性推送,同時採用分層架構支援無限水平擴充套件。

「未來計劃?」

繼 SOFARegistry 原始碼解析任務釋出以來,大家反響熱烈,都在問自己關心的 SOFAStack 系列的其他專案元件什麼時候釋出原始碼解析計劃。

「下期活動預告?」

Layotto 和 SOFAArk 原始碼解析任務正在籌備中,預計不久後會和大家見面,小夥伴們敬請期待吧。

在任務釋出前先給大家簡單介紹一下兩個專案及 Contributor 養成任務,大家可以先了解一下,方便後續可以更快的參與到原始碼解析任務中。

Layotto

Layotto(/leɪˈɒtəʊ/) 是一款使用 Golang 開發的應用執行時, 旨在幫助開發人員快速構建雲原生應用,幫助應用和基礎設施解耦。它為應用提供了各種分散式能力,比如狀態管理,配置管理,事件釋出訂閱等能力,以簡化應用的開發。

Layotto 以開源的 MOSN 為底座,在提供分散式能力以外,提供了 Service Mesh 對於流量的管控能力。

專案主頁:

https://mosn.io/layotto

GitHub 地址:

https://github.com/mosn/layotto

### Contributor 養成任務:

Layotto

Easy
  • 為actuator模組新增單元測試
  • 為java sdk新增分散式鎖 API
  • 開發in-memory configuration 元件
Medium​
  • 讓 Layotto 相容 Dapr API
  • 升級由 rust 開發的 wasm demo
  • 用 mysql、consul或leaf等系統實現分散式自增id API
Hard​
  • 讓 Layotto 支援通過介面呼叫的方式動態載入 wasm,以支援 FaaS 場景動態排程

「詳細參考」:

https://github.com/mosn/layotto/issues/108#issuecomment-872779356

SOFAArk

SOFAArk 是一款基於 Java 實現的輕量級類隔離容器,主要提供類隔離和應用(模組)合併部署能力。

在大型軟體開發過程中,通常會推薦底層功能外掛化,業務功能模組化的開發模式,以期達到低耦合、高內聚、功能複用的優點。基於此,SOFAArk 提供了一套較為規範化的外掛化、模組化的開發方案,產品能力主要包括:

  • 定義類載入模型,執行時底層外掛、業務應用(模組)之間均相互隔離,單一外掛和應用(模組)由不同的 ClassLoader 載入,可以有效避免相互之間的包衝突,提升外掛和模組功能複用能力;
  • 定義外掛開發規範,提供 maven 打包工具,簡單快速將多個二方包打包成外掛(Ark Plugin,以下簡稱 Plugin)
  • 定義模組開發規範,提供 maven 打包工具,簡單快速將應用打包成模組 (Ark Biz,以下簡稱 Biz)
  • 針對 Plugin、Biz 提供標準的程式設計介面,包括服務、事件、擴充套件點等機制
  • 支援多 Biz 的合併部署,開發階段將多個 Biz 打包成可執行 Fat Jar,或者執行時使用 API 或配置中心(Zookeeper)動態地安裝解除安裝 Biz
  • 基於以上能力,SOFAArk 可以幫助解決依賴包衝突、多應用(模組)合併部署等場景問題。

專案主頁:

https://www.sofastack.tech/projects/sofa-boot/sofa-ark-readme/

GitHub 地址:

https://github.com/sofastack/sofa-ark

相關文章