1 / 7
文档名称:

微服务架构的持续集成交付.docx

格式:docx   大小:157KB   页数:7页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

微服务架构的持续集成交付.docx

上传人:fengruiling 2022/5/14 文件大小:157 KB

下载得到文件列表

微服务架构的持续集成交付.docx

文档介绍

文档介绍:: .
-----WORD格式--可编辑--专业资料-----
微服务架构的持续集成交付
首先介绍下微到的第二与第三个问题,即
1. 结合Docker解决多技术栈的环境维护问题;
2. 按微服务模块交付来提高软件的交付效率
3. 引入“版本服务”来可视化各微服务的版本信息
4. 引入“ReleaseNote服务”来发布各微服务的feature更新
实践
微服务架构有多种,数人云的微服务架构有如下特点:
1. RESTAPI与消息队列结合使用。微服务与外部用户通过RESTAPI通信,内部微服务之间通过消息队列通信。
2•全部Docker交付,这解决了多技术栈的环境维护问题。
3•—个微服务对应于一个持续交付的Job,这保证了各服务在交付环节无相互依赖,单独触发。同时可以利用不同的Docker镜像为不同的Job提供相应环境。
4. 版本信息自动更新
5. ReleaseNote自动发布
6. 构建环境Docker化,与底层隔离,保证宿主机环境的一致性,降低运维成本
利用Docker-compose维护本地开发环境,从而实现开发环境与生产环境的逻辑一致性
数人云的架构设计模式如图所示。用户通过浏览器或者直接通过RESTAPI与后台通信,后台是一个微服务集合,对外服务的接口一律采用RESTAPI,内部服务之间的接口采用消息队列。各微服务负责维护自身的状态集,有自己独立的缓存和DB(如有必要)。微服务本身尽量无状态化,以保证横向扩展能力。
Docker枫<i灌件4
D代网玄
坷山!<rA
AItfi4
B代們蛛
c[twr<
上图是我们目前采用的持续交付架构图。A,B,C,D四个github代码库分别存储着四个微服务的源代码,相应的我们为每一个代码库创建了独立的构建作业,代码更新触发构建时,构建作业将执行如下的大致步骤:
1. 从Docker私有镜像仓库拉取相应的构建镜像
2•从github源码库拉取相应代码并挂载到构建容器里,触发特定脚本来执行构建
3. 若构建成功,立刻从Docker私有镜像仓库拉取相应的runtime镜像,将构建成功的可执行程序Docker化成新一版的微服务镜像
4. 将上述微服务镜像推送到Docker私有镜像仓库
若已经设置了自动交付
1. 则通过Marathon的RESTfulAPI接口触发线上微服务的更新
2. 更新版本服务里面对应微服务的版本信息
自动更新ReleaseNote服务里面对应微服务的ReleaseNote。开发者在实现了相应功能时已经将对应的ReleaseNote放在了代码库特定目录下面(这个后面会详细提到)Mesea81口*6节点
Martigbofi
调屋in巳託赵S世的
Wl,粗迖直动
Jankir*!;&的弗■令
今|曲仃执腳|今Mea-oa爼I口叭&
Xj1
[jenkl^siM^aierFrarne^oricJankES的命令翳^*«w
MbrothoriFromewerk^iS^EMeso£」:运行^Jetilctns
3. 另外,从架构图中我