最終選擇了自主研發,考慮到我們團隊對java以及flex知識的儲備,展示層使用誇浏覽器的flex開發,後端業務層使用java。
一、方案:
BEC + ZCIPAgent + ZCIPServer + 核心資料關系型資料庫集中存儲+ 日志分布式存儲
使用此方案的目的如下:
1. 減少系統間的耦合
2. 集中是管理,分布式部署和排程
3. 核心資料資料庫存儲使得後期報表統計和品質分析容易處理
4. BEC元件和ZCIPAgent分布式部署,降低主機異常帶來的損失
5. 日志分布部署,提高機器的使用率減少對高性能主機的依賴
6. BEC 元件可單獨使用。
二、功能架構:
起初也考慮是否加入消息中間件來實作主要與Agent之間的通訊,更多的中間環節勢必降低系統的穩定性,之後我們選擇主要和Agent直接進行消息通訊,對于這一塊,大家可以根據自己的實際業務需求自己評估。
三、總體架構設計:
四、流程排程拓撲圖:
時至今日我們的持續內建平台初具規模,持續內建平台也不僅僅是持續內建平台了,持續傳遞已經納入到我們的平台中,我們的平台實作了快速傳遞、快速疊代。與現在倡導的devops核心其實也就是快速部署。
對于持續內建其實重要的不是平台的建設,而是開發模式以及産品研發模式的轉變,平台隻是促成此過程的支撐,提高産品品質和傳遞效率才是關鍵。
後面有時間再與大家分享我們平台内部的核心子產品的設計方案,希望大家多指出我們的不足之處。