基于JenKins实现实时业务系统的不中断上线
2021-10-15赖正华
电脑与电信 2021年7期
赖正华
(中移信息技术有限公司,广东 深圳 518048)
1 引言
现在很多的业务系统引用微服务化的思想,将业务系统的功能在应用程序实现上进行解耦处理:每个功能由单独的程序模块来提供,再将各个程序模块,利用消息队列的形式串联起来。假如应用程序分为了前置程序、业务处理程序。前置程序接受请求后,通过MQ消息中间件将消息通过点对点的方式分发到业务处理程序。业务处理程序根据不同的请求渠道以及用户归属省等因素,可将消息引流到不同的业务处理程序去消费消息,比如对业务量很大的省份或者渠道,由A主机单独提供服务,对业务量小的省份或者渠道可以多个省或渠道共享一台主机消费消息,利用MQ的点对点消息,实现了流量的分流。因此,在代码打包编译时,需要对不同的业务处理节点标识不同的appcode,每一个tomcat运行单独标识appcode的业务处理war包程序,这样便可实现点对点消息消费。由于承载的是全网的业务,部署的服务器数量和tomcat容器数量会达到数十个,且随着业务规模的发展,服务器的数量一直在增长,因此在每次进行变更上线时,运维人员的工作强度和压力越来越大。且系统属于实时交易类系统,为在全球漫游的用户提供无间断的服务,对系统变更上线提出了高要求:需要不间断提供服务且快速又准确地完成变更上线操作。本文将对这种业务场景的系统上线方式展开研究。
2 技术选型比较
目前行业内用于自动化上线的开源工具有Ansible、Saltstack、Jenkins等。……
登录APP查看全文
