Chiefr 分布式專案開發模型和工具包

2021-08-19 13:05:17 字數 2141 閱讀 4169

原文:chiefr git repo

作者:asciimoo

翻譯:雁驚寒

本專案的目的是在專案成員之間共享和去中心化專案不同部分的開發和維護。chiefr的靈感來自於linux核心及其「get_contributors.pl」指令碼的貢獻模型。

乙個典型專案預設的貢獻方案是完全集中化的。如果有乙個貢獻提交到專案或者倉庫上,那麼每個相關的人員都被通知到,並且各自手頭的工作都會被中斷,因此,這種方案並不適合於規模大的專案。對於擁有多個活躍成員的專案來說,隨著專案的成長,其成員所浪費的時間也會越來越多,因為所有的貢獻和問題都會傳送給每個成員。

chiefr的目標就是要通過更好的流程和工具來解決這個問題。

chiefr要求將單個專案拆分為多個邏輯段,每個段都有各自的維護者、儲存庫和可選的其他服務,比如郵件列表或者聊天群組。為方便管理,根據專案的大小,每個段可以切分成多個更小的段。

對於貢獻者:

- 在提交貢獻的時候,chiefr會顯示對應的倉庫和維護者

chiefr同時也是乙個依賴於.maintainers.ini的命令列工具,具有以下命令:

-submit:顯示在**可以提交補丁

-list:列出專案所有的段

-update-pull-request:根據.maintainers.ini更新乙個拉取請求的被指定人和主題

-ask:顯示**可以提出有關某個主題的問題(尚未實現)

-add:將新的段新增到.maintainers.ini中(尚未實現)

-scan-project:搜尋沒有維護者的段(尚未實現)

chiefr需要在專案根目錄中存在.maintainers.ini檔案,該檔案定義了專案的段。.maintainers.ini可以包含任意數量的段。

段段定義了專案的邏輯塊資源。

段的屬性:

-chiefs:負責當前段的專案成員列表,多個成員之間用逗號分隔

-repository:用於提交補丁的倉庫url

-chat:聊天服務url

-maillist:郵件列表url

-issuetracker:問題跟蹤url

-reviewers:負責**審核的專案成員列表,多個成員之間用逗號分隔

-filepatterns:用於指定要包含在此段中檔案的正規表示式列表,用逗號分隔

-contentpatterns:指定此段中應包含哪些補丁內容的正規表示式列表,用逗號分隔

-fileexcludepatterns:用正規表示式從filepatterns匹配到的檔案中排除出去,用逗號分隔

-contentexcludepatterns:用正規表示式從contentpatterns匹配到的檔案中內容中排除出去,用逗號分隔

-priority:如果某個更改集會影響多個段,則此優先順序用於描述所列段的順序

-topics:段的主題,多個主題之間用逗號分隔

.maintainers.ini中有關段的示例:

java分布式開發,什麼是分布式開發

就是同乙個服務,把資料庫的不同部分分開建立到不同的伺服器上。以緩解資料庫大量資料訪問的壓力。很多大公司的業務量比較大,每天的訪問量都達到幾百萬上千萬,甚至上億的訪問量,在訪問量不是很大的情況下,是可以通過提高單台伺服器的配置來滿足需求的。但是當單臺伺服器已經滿足不了需求的時候就需要做分布式處理了。畢...

分布式專案架構

根據業務需求進行拆分成n個子系統,多個子系統相互協作才能完成業務流程子系統之間通訊使用rpc遠端通訊技術。優點 1.把模組拆分,使用介面通訊,降低模組之間的耦合度。2.把專案拆分成若干個子專案,不同的團隊負責不同的子專案。3.增加功能時只需要再增加乙個子專案,呼叫其它系統的介面就可以。4.可以靈活的...

分布式事務 X Open DTP模型

事務的特徵 分布式事務的由來 隨著系統使用者和資料的增加,原先的單體應用的程式架構向著soa或者微服務的架構發展,資料庫也會有分庫分表等操作來提高效率 單體應用 單體應用只有乙個操作的資料庫,完全可以直接依賴資料庫的acid特性和應用的事務管理來保證事務的執行,資料的一致性。分布式應用 分布式應用中...