最终选择了自主研发,考虑到我们团队对java以及flex知识的储备,展示层使用夸浏览器的flex开发,后端业务层使用java。
一、方案:
BEC + ZCIPAgent + ZCIPServer + 核心数据关系型数据库集中存储+ 日志分布式存储
使用此方案的目的如下:
1. 减少系统间的耦合
2. 集中是管理,分布式部署和调度
3. 核心数据数据库存储使得后期报表统计和质量分析容易处理
4. BEC组件和ZCIPAgent分布式部署,降低主机异常带来的损失
5. 日志分布部署,提高机器的利用率减少对高性能主机的依赖
6. BEC 组件可单独使用。
使用此方案的目的如下:
1. 减少系统间的耦合
2. 集中是管理,分布式部署和调度
3. 核心数据数据库存储使得后期报表统计和质量分析容易处理
4. BEC组件和ZCIPAgent分布式部署,降低主机异常带来的损失
5. 日志分布部署,提高机器的利用率减少对高性能主机的依赖
6. BEC 组件可单独使用。
二、功能架构:
起初也考虑是否加入消息中间件来实现主控与Agent之间的通讯,更多的中间环节势必降低系统的稳定性,之后我们选择主控和Agent直接进行消息通讯,对于这一块,大家可以根据自己的实际业务需求自己评估。
三、总体架构设计:
四、流程调度拓扑图:
时至今日我们的持续集成平台初具规模,持续集成平台也不仅仅是持续集成平台了,持续交付已经纳入到我们的平台中,我们的平台实现了快速交付、快速迭代。与现在倡导的devops核心其实也就是快速部署。
对于持续集成其实重要的不是平台的建设,而是开发模式以及产品研发模式的转变,平台只是促成此过程的支撑,提高产品质量和交付效率才是关键。
后面有时间再与大家分享我们平台内部的核心模块的设计方案,希望大家多指出我们的不足之处。