学习
实践
活动
工具
TVP
写文章

干货来袭,微服务框架及其快速集成实现系列

问题背景

当前应用系统需要实现持续集成的方案有很多,但是想要快速实现却很难,主要存在以下的问题:

1、构建工具差异:当前主流的构建工具有maven、ant、gradle等,采用不同的构建工具时编译打包命令都是不同的。

2、基础镜像差异:不同业务系统的JDK版本是存在差异的,以及采用不同的开发框架是否需要tomcat也是不一致的。

为了解决这些问题,快速实现应用系统的持续集成,ADCloud麒麟团队和标准化开发框架(云梯)团队探索出一条针对标准化开发框架实现持续集成的快速通道。

云梯标准开发框架技术架构

云梯标准开发框架是一套低门槛、开放性、快速组建系统的开发框架,主要是基于spring cloud上进行搭建的,技术架构如下图所示:

同时使用云梯开发框架的部署也是相同的,应用部署逻辑架构如下图所示:

基于云梯标准开发框架,难以实现快速持续集成的问题大都已经解决了。

1、构建工具一致:都采用的maven,构建的命令是一致的。

2、基础镜像一致:JDK版本一致都采用1.8,开发框架统一采用Springboot,不需要tomcat。

3、启动脚本名称一致:启动脚本名称都是run.sh。

当然还存在以下的差异是需要持续集成工具解决的:启动脚本内容差异,启动脚本中应用系统名称是不同的。

基于云梯开发框架的持续集成的快速实现

为了快速实现基于云梯标准开发框架的持续集成,还需要解决以下几个难点:

1、快速资源申请通道:持续集成需要Docker容器资源、数据库资源、redis资源。其中Docker容器资源需要指定应用编号、包名称、启停脚本、健康监测地址、基础镜像等,数据库资源包含初始连接数、最大连接数据、存储空间等,redis资源包含部署方式,内存大小等。

2、配置文件的修改:资源申请完成后相应的配置文件需要进行修改,如数据库配置,redis配置等。

3、持续集成流水线的创建:持续集成流水线包含下载、编译、打包、部署等节点,同时每个节点还需要对应的脚本配置。

针对这些难点,当前ADCloud麒麟团队设计了一套标准化流程,实现了资源快速申请、一键式应用系统创建、自动创建持续集成流水线、自动实现环境管理,开通了一条快速实现持续集成的便捷通道。整体流程如下:

资源快速申请

资源申请快速通道:采用云梯标准开发框架后资源申请模板数据是标准化的,所有的资源:Docker容器资源、数据库资源、redis资源都是一致的,不需要申请人员再填写一堆的文档以及申请流程中的不断交互,实现了资源的快速申请。

一键式应用系统创建

一键式创建应用系统:使用云梯开发框架的应用系统创建时,ADCLOUD会自动实现基于云梯开发框架demo创建git代码仓库,减少了手工创建以及上传等动作。

自动配置文件修改:拷贝demo工程完成后,ADCLOUD会自动实现大类的配置文件修改,如工程名称、服务名称、包名称以及资源申请完成后数据库配置、redis等配置。

自动创建持续集成流水线

自动创建持续集成流水线:针对云梯开发框架,在系统创建成功后,ADCLOUD会异步实现开发、测试、生产流水线的自动创建,流水线的各节点配置也自动完成,避免了租户需要脚本的编写等操作。

自动进行多环境资源配置:部署时的因为开发、测试、生产的主机是不一致的,所以针对不同的环境需要配置不同的环境信息,ADCLOUD通过资源申请后接口传递过来的资源信息,ADCLOUD自动实现了环境的自动配置。

自动实现环境管理

监控节点自动配置:在资源申请成功后,ADCLOUD的环境监控节点会自动配置云梯开发框架的web和server的监控服务,实现了环境监控的自动化配置

环境监控与告警:在ADCLOUD可实现基于云梯开发框架的应用的实时监控,同时针对服务异常情况可设置告警。

〖★总 结★〗

当前有部分的应用系统已经采用云梯开发框架,证明了标准化开发框架是实现应用系统持续集成的一条捷径,通过ADCloud基本实现了傻瓜式操作,大大降低了持续集成的门槛以及技术难点。下一期我们将会对云梯开发框架进行具体的技术介绍,云梯是如何基于spring cloud完成标准化开发框架的搭建以及各自技术的选型原因等。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180505G0DVNW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券