【G】開源的分布式部署解決方案 - 預告篇


G.系列導航

【G】開源的分布式部署解決方案 - 導航

為什么想到要做分布式部署解決方案?

當項目越做越大以后,你會發現部署變成一件極其頭疼的事情。當然頭疼的絕不僅僅在部署一個環節,比如新服務器環境搭建當中就許多坑要踩、各種重復性的工作,包括但不僅限於增加IIS Application、修改防火牆、加入到域等。

不要慌,我不會做一個大而全的解決方案,一方面本人實在沒那么多精力滿足所有人的需求,另一方面很多定制化的功能我也不可能加入進來。

所以本開源項目的第一個版本的目的就相對簡單而明確。

 

PS:將來會在此基礎上擴展更多實用的功能,先賣個關子,都是跟分布式架構相關的。

 

第一個版本有哪些功能?

1 基礎的權限控制(可能只支持一個角色,甚至是寫死)

2 部署項目管理(以Jenkins為例,做自動化構建方案)

3 部署服務器管理(以Aliyun服務器為例)

4 部署組管理(包括部署組、部署組項)

5 創建部署任務(包括觸發自動化構建、部署文件關聯等)

6 部署服務器常駐服務(以Windows Service的形式駐留,主要完成中控的指令協助部署)

7 一鍵部署(支持單台或部署組)

  7.1 支持手動綁定歷史部署文件版本(理論上支持所有的,如Jenkins這種構建方案還會涉及到保存構建副本數量和天數等,另本功能只支持單台部署,部署組的修改版本通過創建部署任務時統一指定)

  7.2 自動檢測部署文件包狀態(以Jenkins為例,會自動等待構建完畢,並會自行檢測構建狀態判斷是否繼續向下執行)

  7.3 下載部署文件包並解壓

  7.4 控制負載均衡降權

  7.5 部署(包括等待服務器正在執行的請求完成的檢測)

  7.6 觸發緩存(也可以理解為觸發首次訪問,提升用戶體驗)

  7.7 控制負載均衡升權

 

PS:這里先列出一些核心功能。另外部署過程是屬於冷部署,原因是加入了負載均衡控制和觸發緩存,可以更好的解決部署導致的服務預熱問題。

 

開源計划?

首先澄清一下,本項目目前還沒有任何代碼,整個編寫過程都會一步步的寫出來,不只是單純的開源一個項目那么簡單。里面還包含了設計思路、不斷的優化過程、遇到的難點攻破等。但請各位放心,因為核心功能已經寫了一版,目前正在本人供職的公司使用中。

更新時間其實我並沒有給自己定一個明確的目標,可能就是抽空了便寫一些,直到項目完結吧。也歡迎有興趣的人加入一起來做這件事。群號應該會找得到吧,哈哈。

題外話說完入正題。

1 項目會放在oschina的git上,原因很簡單,不用翻牆啊。(不是不會,是懶得翻)

2 項目會基於 .net core 來做,但可能很長一段時間只會在windows上測,保證windows上可以正常使用。

3 使用開源的UI框架、相對流行的技術選型、相對主流的架構。

4 整個編寫過程中,歡迎大家提建議和意見,我會根據實際情況選擇一些好的建議加入到第一個版本中。

 

口說無憑?

部署界面

 

最初的流程圖,當然新版肯定是功能更多更復雜

 

 

最后最后,其實寫這篇的原因是希望在我正式開始寫源碼之前,有一部分人可以關注到這個項目,從而給出一些建議那是最好了。

本篇因太水,自知不敢上博客園首頁,歡迎擴散,歡迎擴散,歡迎擴散!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM