HAVE FUN | 源碼解析活動進展

源碼解析

在第一篇源碼解析活動文中,我們介紹了 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

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