資料介紹
軟件簡介
WeCube是一套開源的,一站式IT架構管理和運維管理工具,主要用于簡化分布式架構IT管理,并可以通過插件進行功能擴展。
起源
微眾銀行在分布式架構實踐的過程中,發現將銀行核心系統構建于分布式架構之上,會遇到一些與傳統單體應用不同的痛點(例如,服務器增多,部署難度大;調用鏈長,全鏈路跟蹤困難; 系統復雜,問題定位時間長等),在逐步解決這些痛點的過程中,總結了一套IT管理的方法論和最佳實踐,并研發了與之配套的IT管理工具體系。WeCube就是將該套方法論和最佳實踐,從微眾內部眾多IT管理工具體系中提煉出來,整合成一套開箱即用的IT管理解決方案。
設計理念
WeCube的設計理念與IT系統生命周期管理基本一致??梢酝ㄟ^“六個維度和一個核心”來闡述。
一個核心:通過注冊新插件持續擴展WeCube的功能,通過如下5個能力實現插件注冊及協作。插件注冊詳見“插件注冊”。
- 菜單布局:WeCube提供前端UI基座和前端開發規范,使各個插件的前端交互能夠無縫集成到WeCube,進而形成一個統一平臺。
- 權限模型:WeCube的權限模型提供“用戶-角色-菜單”三級權限模型,并提供統一認證方案。數據權限及API權限,由插件自身控制。
- 流程編排:WeCube內置一套標準的BPMN流程引擎,可以通過客戶自定義編排驅動插件協同工作,減少人工干預。編排設計詳見“編排設計”。
- 數據模型:插件需要將自身需要提供給其他插件使用的數據模型注冊到WeCube的統一數據模型,然后通過標準的CRUD接口提供數據訪問服務。
- 系統參數:WeCube的全局參數、插件需要客戶修改、插件需要暴露給其他插件使用的參數,需要注冊到WeCube的系統參數內。
六個維度:通過定義六個維度的菜單,并將插件功能有組織性的插入這六個維度菜單中,形成對IT系統全生命周期的有效管理。
- 任務:匯聚多種類型任務,形成一體化的工作平臺。工作內容清晰可見,輕重緩急一目了然。
- 設計:定義模型和規范,形成標準化設計語言。通過規范化設計及圖形化展示,清晰、準確地描繪出對分布式架構的期望。
- 執行:通過各類自動化、標準化任務的執行,將分布式架構的期望設計變成現實存在,消除人員能力參差不齊導致的實現差異。
- 監測:定義全方位的監測項指標,通過持續收集監測數據,精確反映現狀,并發現現實與期望的差異項。
- 智慧:應用機器學習等技術,賦予智慧能力。通過數學建模,制定應對監測發現的差異項的處理策略。
- 調整:通過執行處理策略來不斷進行動態調整,最終保持現實與期望的對等,進而使系統穩定運行。
技術實現
WeCube分為核心功能模塊和插件模塊。
核心功能模塊使用Java/MySQL/VUE開發,主要負責工作流程,可視化和核心數據存儲。
插件模塊用于功能擴展,分為資源管理、數據整合、功能增強三類插件。對于插件,WeCube定義了一套接口規范,插件開發者可以在遵循規范的前提下,自行選擇開發語言。目前已有的插件使用的開發語言包括GO語言和Java。
系統架構
WeCube 2.0版本
組件間詳細關聯圖:
1, Portal web:瀏覽器客戶,客戶與WeCube交互的入口。
2, Portal nginx:接收客戶端訪問請求,如果請求靜態資源,返回Core或插件的靜態資源文件。如請求動態服務,轉發到后端API gateway。Portal nginx建議采用負載均衡實現高可用,也可以使用keepalived做主從高可用。
3, API gateway:負責Portal nginx或其他外部系統的動態服務請求的路由分發。
- A) 登錄認證請求,轉發到Auth server,使用用戶名密碼換取Token。Token采用非對稱加密,包含用戶名、角色、菜單權限信息。
- B) Core服務請求,轉發到Core。比如角色添加、插件注冊、編排設計等等。
- C) Plugin服務請求,轉發到對于的Plugin。比如CMDB配置管理、監控數據查詢、任務管理等。
建議負載均衡實現高可用,也可以使用keepalived做主從高可用。
APIGateway啟動時通過Core獲取插件實例列表,并建立路由規則。
同時APIGateway會監測Core、Auth Server、Plugins的狀態,實現Core、Auth server、Plugins實例的主從類型的高可用。
4, Auth server:主要負責用戶認證服務,并返回含用
由API gateway實現主從類型的高可用。 5, Core:WeCube的核心模塊。提供插件注冊、編排設計、權限管理、批量任務、插件運行資源管理、數據模型、系統參數等核心功能。 由API gateway實現主從類型的高可用。
6, MYSQL:WeCube Core和Auth server的數據庫實例。建議MYSQL主從實現高可用。
7, S3:插件包鏡像文件的存儲。插件注冊是寫入鏡像文件,插件實例啟動時讀取鏡像文件。
8, Plugin instance-Docker:插件運行的容器母機,可以配置多臺母機,運行多個插件實例,提供高可用。
9, Plugin instance-MYSQL:插件運行所需要的數據庫實例,為每個需要數據庫的插件建立獨立數據庫。建議MYSQL主從實現高可用。
10, Plugin instance-S3:插件運行所需要的對象存儲,為每個需要存儲文件的插件分配單獨的桶。
11, Plugin instance- Squid:插件訪問外部資源的代理服務器,按域名放通白名單。在安全要求較高的時建議部署。
以上11個組件組成WeCube Platform。
主要功能簡介
WeCube的功能菜單設計與設計理念保持一致。分別是任務、設計、執行、監測、智慧、調整、協同、系統。
-
系統
- 系統參數:管理WeCube Platform運行所需的系統參數。
- 資源管理:管理WeCube提供的資源如容器母機及資源上運行的實例。
- 權限管理:管理WeCube Platform的用戶,角色和菜單,可以對權限進行菜單級別的管控。
-
協同
-
插件注冊:選擇插件包上傳,插件包需聲明本插件的依賴、所需菜單、數據模型、系統參數、權限設定及運行資源,注冊后通過容器運行,支持多實例,可以查看插件運行的日志。選擇插件服務,通過插件運行的參數關聯CMDB數據模型的屬性值,形成注冊。
-
任務編排:比如設計一個VPC創建的編排。包括創建VPC、創建子網、創建VM。流程的每個執行節點需要關聯插件。
-
-
設計(WeCMDB插件提供)
-
規劃設計:用于設計機房結構。
-
資源規劃:用于實例化一個機房,特別是兩地三中心結構。
-
應用架構設計:用于設計一個應用的邏輯架構。
-
應用部署設計:用于實際部署一個應用。支持灰度發布。
-
CI數據管理/查詢:通過模型圖形進入單個數據管理以及查詢。
-
CI綜合查詢管理/數據綜合查詢:用于配制多CI屬性報表。比如一個應用使用到了哪些主機。
-
枚舉數據管理/查詢:通過對公共枚舉和私有枚舉進行管理以及查詢。
-
-
執行
-
編排任務執行:在選擇編排后可對選擇目標對象執行編排,支持灰度操作。比如重啟某個資源集的5臺主機。
-
物料管理(Artifacts插件提供):管理應用程序的包??梢远x各種文件,可以配置環境差異導致的變量替換規則,不需要人工處理。
-
批量執行:通過配置綜合查詢并選擇目標。在通過特定插件來執行任務。比如某個應用的所有主機,執行一個用戶權限變更。
-
-
任務(Service-Management插件提供)
-
模板管理:服務目錄管理, 服務請求模板管理;
-
服務管理:服務請求管理,任務管理;
-
-
監測(Open-Monitor插件提供)
-
Agent管理: 注冊、啟動、停止;
-
數據管理: 提供數據采集配置, 數據查詢等功能;
-
告警管理: 提供閾值配置、日志監控、告警觸發等功能;
-
視圖管理: 提供圖形配置和自定義視圖功能;
-
-
調整(規劃中)
-
智慧(規劃中)
核心流程時序說明:
插件注冊時序圖:
編排任務執行:
快速入門
WeCube采用容器化部署。
如何編譯WeCube,請查看以下文檔?WeCube編譯文檔
如何安裝WeCube, 請查看以下文檔?WeCube部署文檔
用戶手冊
更多關于WeCube的使用和操作說明, 請查看以下文檔?WeCube用戶手冊
開發者文檔
WeCube使用Java和VUE進行開發,數據存儲于MySQL,并依賴Tomcat Web容器運行。
請參考以下文檔進行開發環境配置WeCube開發環境配置
License
WeCube是基于 Apache License 2.0 協議, 詳情請參考?LICENSE
- iPolloTool批量管理工具使用說明 1次下載
- ESXCLI FC ESXi 6.0管理工具 0次下載
- ESXCLI FC ESXi 6.7管理工具 0次下載
- VMware ESXi 6.5 ESXCLI管理工具下載 0次下載
- VMware ESXi 8.0 ESXCLI管理工具下載 0次下載
- ESXCLI FC ESXi 6.5管理工具下載 0次下載
- VMware ESXi 6.7 ESXCLI管理工具下載 2次下載
- ESXCLI FC ESXi 6.5管理工具 0次下載
- VMware ESXi 6.5 ESXCLI管理工具 0次下載
- VMware ESXi 8.0 ESXCLI管理工具 0次下載
- RTool遠程管理工具使用說明 0次下載
- UDAT4.0數據庫管理工具 3次下載
- CANopen網絡管理工具 V1.18 74次下載
- 基于Web的集群管理工具CWMS 13次下載
- 基于開源的軟件缺陷管理工具的改進策略 11次下載
- 如何在DevOps環境中實施測試用例管理 887次閱讀
- 端點管理會影響應用程序安全嗎? 217次閱讀
- Git版本管理工具的使用方法 372次閱讀
- 一款任務日程管理工具ToDoList 741次閱讀
- 電子戰規劃和管理工具(EWPMT)的可視化系統 807次閱讀
- 如何安裝Python包管理工具 741次閱讀
- 初代版的NoahX狀態管理 512次閱讀
- 常見Linux操作系統的安裝包管理工具 1245次閱讀
- 開源數據庫管理工具Beekeeper Studio簡介 3175次閱讀
- git作為代碼工具的實用小技巧 1881次閱讀
- Pipenv - 官方推薦的的python包管理工具 4733次閱讀
- 密鑰管理系統概述_密鑰管理系統架構圖 1.3w次閱讀
- Python之包管理工具快速入門 4112次閱讀
- 簡單分享3種運維工具體系 7154次閱讀
- 什么是re文件管理器_re管理器有什么用 1.6w次閱讀
下載排行
本周
- 1RSA306B頻譜分析儀技術資料匯總
- 未知 | 204次下載 | 免費
- 2RSA500A系列便攜式頻譜分析儀技術盤點
- 未知 | 157次下載 | 免費
- 3高幅度波形/ 函數發生器汽車、半導體、科學和工業應用測量剖析
- 未知 | 141次下載 | 免費
- 4直流無刷電機驅動與失速電流限制參考設計
- 10.6 MB | 32次下載 | 1 積分
- 5電動汽車同步快充慢充原理及測試的三種情況介紹
- 未知 | 30次下載 | 免費
- 6NI數據采集(DAQ)函數的應用
- 0.3 MB | 23次下載 | 免費
- 7保護新能源汽車電池使用壽命的六種措施
- 未知 | 18次下載 | 免費
- 8稀土激光材料的詳述
- 0.1 MB | 11次下載 | 免費
本月
- 1RSA306B頻譜分析儀技術資料匯總
- 未知 | 204次下載 | 免費
- 2RSA500A系列便攜式頻譜分析儀技術盤點
- 未知 | 157次下載 | 免費
- 3高幅度波形/ 函數發生器汽車、半導體、科學和工業應用測量剖析
- 未知 | 141次下載 | 免費
- 4直流無刷電機驅動與失速電流限制參考設計
- 10.6 MB | 32次下載 | 1 積分
- 5電動汽車同步快充慢充原理及測試的三種情況介紹
- 未知 | 30次下載 | 免費
- 6NI數據采集(DAQ)函數的應用
- 0.3 MB | 23次下載 | 免費
- 7儲能電源市場分析
- 7.99 MB | 19次下載 | 免費
- 8保護新能源汽車電池使用壽命的六種措施
- 未知 | 18次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935094次下載 | 免費
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420053次下載 | 免費
- 3Altium DXP2002下載入口
- 未知 | 233070次下載 | 免費
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191334次下載 | 免費
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183318次下載 | 免費
- 6labview8.5下載
- 未知 | 81569次下載 | 免費
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73795次下載 | 免費
- 8NI LabVIEW中實現3D視覺的工具和技術
- 未知 | 70088次下載 | 免費
評論
查看更多