新客立减

微服务架构的部署

 

 

本文从以下几个方面简要说明微服务架构项目的实践经验:

架构选型、

开发测试环境下的相关工

具支持、人员分工及开发部署流程、相关设计及注意事项。

最后,

将根据实践经验讨论提高微服

架构下的开发和运维效率的切实需求,

进一步理清本项目所实现的容器服务管理平台的完善性需

求。

 

本项目是一个企业级的容器服务管理平台,

该平台的功能是基于容器实现的应用运行环境管

理,

以及应用开发阶段的持续集成和持续发布。

简单的理解该平台的核心功能之一就是管理复杂

应用的开发和运维环境,提高微服务架构下的开发和运维效率。项目的开发背景如下:

 

首先,该系统具有典型分布式应用系统特征:

 

该平台所运行的服务器配置不高,例如华为

RH1288

这类低配置服务器,允许硬件失败;

 

系统平台要求可根据实际用户数的规模进行伸缩部署,保证硬件资源的合理利用;

 

由于系统平台之上需要运行若干企业应用的开发和运行环境,

可靠性是非常重要的,

不允许

单点失效。

 

其次,

本系统功能复杂,

从架构的角度需要将系统分成多个层次和若干个子系统。

不同的层

次、子系统根据具体情况需要采用不同的开发语言,由不同的开发小组完成。

 

第三,

项目组成员由几个城市的异地团队协同开发,

统一的开发环境和协同工具是必不可少

的。

 

针对上述项目背景的考虑,本项目选择基于微服务架构进行项目开发。

 

开发、测试、部署使用到的工具集

 

“工欲善其事、必先利其器”,借助适合的流程和相关工具集,才能提高微服务架构下的应

用开发效率。本项目利用

DevOPs

流程并选用一套相关工具集实现应用开发管理,提高开发、测

试、部署的效率。

 

代码库:本项目使用分布式代码库

Gitlab

,它的功能不限于代码仓库,还包括

reviews(

码审查

), issue tracking(

问题跟踪

)

wiki

等功能,是代码管理和异地团队沟通、协作工具的

首选。

 

Docker

镜像仓库、

Docker

:本项目用容器贯穿整个软件开发流程,以容器作为应用发布的

载体,应用的开发环境和测试发版环境都运行在

Docker

容器中。对于复杂的开发和运维环境管

Docker

具有先天的优势,

目前国内外的互联网公司有大多数都已经将

Docker

应用到了他们的

开发或者生产环境中了。