随着近些年各种层出不穷的技术以及企业核心需求的推动,IT行业的发展势必会倒逼公司旗下产品的升级迭代,同时在产品由旧变新的升级过程中也有很多注意要点。由于公司产品大多以整合方案的形式部署到环境上,所以升级部署是否可快速简便尤为重要

产品升级对项目实施运维人员是个不小的考验,由于项目实施产品版本相对较老,与本次升级版本差距较大,导致产品升级问题重重。为快速搭建开发环境、部署集群服务、提供更敏捷快速的迭代机制、以及方便统一管理产品,决定使用公司的UMC产品。

1整体介绍 

下面对于UMC云管理平台下ESB产品升级进行说明,UMC是使用新版本直接安装,按照之前的方案进行创建;对于ESB产品是需要备份并比对新版数据库,再进行新版ESB的部署。更新的字段和预置数据进行更新,特别数据系统表的更新,在更新的前提上,把产品镜像上传,同步数据后配置数据库连接以及redis的配置,保障产品的正常启动。

1.1产品介绍 

UMC云管理平台可以理解为是在创建一个中心生态系统,帮助企业连接不同的系统,允许部署和维护集成流,改善企业内部数据和应用程序之间的连接和通信,允许租户之间共享实例,消除过载、降低成本并提高使用速度,实现企业业务集成和数据集成。UMC云管理平台是云平台开发、部署、管理、运维的统一管理中心,对K8S集群配置、运行状态等进行统一管理,满足云原生四个基本要素:容器化、微服务、DevOPS持续交付、多租户管理。 

UMC云管理平台下ESB产品升级说明_上传

ESB企业服务总线算是一个集成的容器,在企业信息化建设的过程中,ESB一直作为核心产品以“龙骨”的姿态集成企业中的各个业务系统。ESB是传统中间件技术与XML、Web服务等技术相互结合的产物,用于实现企业不同应用间消息和信息准确、高效、安全传递,消除应用之间的技术差异,让不同的应用服务协调运作,实现服务之间的通信与整合。 

1.2升级准备 

首先,在进行平台升级前要做好升级准备,在数据库层面考虑,产品在升级发版过程中会有对应的发版说明,其中记录了每次升级发版对应的数据库调整,升级人员需根据项目中的产品实际版本找到对应的发版说明,整理对应的数据库调整记录,将项目中的数据库结构与升级版本的数据库结构进行对比,保证数据库的一致性,数据库先在测试环境调整,调整后在测试环境部署,并测试使用,测试包括:控制台的基本操作、服务接口、业务流程,做到全方位测试,以保证正式环境升级的顺利开展。 

其次,在方案中对产品升级的具体功能进行介绍,哪些升级是客户提出的需求,解决了哪些问题,从使用人员、运维人员的角度按照以下几点分别介绍: 

UMC云管理平台下ESB产品升级说明_数据库_02

  

1.方案升级:对于产品的主要功能,集成模式等方案性的升级调整,进行概述介绍,从需求到实现成果均需简单描述。 

2.优化操作:在产品的实际使用过程中,会有部分操作不友好,或者性能不够优化的功能点,按照实际升级调整内容概述操作上优化的部分。 

3.BUG修复:产品在迭代升级直至精品的过程中,就是不断发现问题,解决问题的过程,升级也不例外,概述升级调整的BUG问题。 

4.服务增加:对于新的方案,在服务接口层有哪些调整,增加了哪些服务接口,都需要进行整理记录。 

1.3升级步骤 

下面介绍一下升级的整体步骤: 

UMC云管理平台下ESB产品升级说明_上传_03

1.创建临时数据库,初始化新版本数据; 

2.基于发版说明和数据库对比,更新原测试环境数据库; 

3.通过UMC上传新版本产品镜像; 

4.对测试环境进行产品升级; 

5.其他相关产品参数配置、流程升级; 

6.对测试环境进行产品功能测试、业务测试、流程测试等; 

7.测试完成后,根据测试环境的升级内容,对生产环境进行升级。 

2基础准备 

下面介绍基础准备工作保障在升级过后如果存在异常可以快速回滚,保障企业业务等可以正常运转,准备工作主要包含数据库备份、创建临时数据库以及数据库注册。

2.1数据库备份 

对正在运行的各个数据库进行数据库备份,可以使用数据库内置方法或第三方工具进行数据库备份,并记录数据库备份的具体时间。 

UMC云管理平台下ESB产品升级说明_产品升级_04

2.2临时数据库 

进行升级前需要先创建一个临时数据库: 

UMC云管理平台下ESB产品升级说明_UMC云管理平台_05

  

数据初始化操作主要作用是和旧版本数据库进行字段结构对比,所以需要进行新版本数据库的初始化操作,初始化数据库有两种方式: 

第一种其数据的初始化方法和日常操作数据库初始化操作是类似的。 

UMC云管理平台下ESB产品升级说明_数据_06

第二种方式是通过产品内置的sql脚本方式进行数据的初始化(脚本位置在server产品中的“\conf\sqls”路径下的“mysql.sql”脚本文件中)。然后通过UMC产品的数据处理当中的“初始化sql”功能进行数据初始化,如下所示: 

UMC云管理平台下ESB产品升级说明_上传_07

2.3数据库注册 

在UMC内进行数据库注册,方便后续使用数据处理模块功能,对数据进行检查,要把每个产品不同环境下的数据库都进行注册,本次项目注册数据库具体如下,测试连接是否注册成功即可。 

UMC云管理平台下ESB产品升级说明_数据_08

3数据处理 

数据对比主要是将各个产品的历史数据库和新版本数据库进行数据比对,通过UMC数据处理功能将对应的数据库表结构进行数据同步。整合了各个产品的数据库,可以更便捷地进行数据升级和管理。 

3.1数据对比 

使用UMC数据处理模块的数据对比功能,直接进行数据对比即可,在对比时要选择两个数据库,注意源表是新初始化的数据库,而目标表是历史数据库。 

UMC云管理平台下ESB产品升级说明_UMC云管理平台_09

缺少的表是指历史数据库中缺少的表,如果有表缺少则需要同步到历史数据库当中。 

UMC云管理平台下ESB产品升级说明_数据_10

多出的表是指历史版本数据库比初始化的数据库多出的表,如果有表多出无需处理。 

UMC云管理平台下ESB产品升级说明_数据_11

不同的表是指历史数据库和新版本产品数据库字段结构不同,不同字段信息需要一一进行记录,并于各个产品经理确认每个字段的预制数据,防止因为预制数据缺失,而出现页面异常现象。 

UMC云管理平台下ESB产品升级说明_UMC云管理平台_12

接下来我们通过UMC的结构对比把上述表,进行数据结构调整如下所示: 

UMC云管理平台下ESB产品升级说明_数据库_13

3.2数据同步 

将缺少的数据新增至新库中,对于查看到的不同数据以及结构进行同步。涉及数据表结构新增、变更字段信息的字段均要与产品研发人员确认预置的数据信息。数据处理模块的同步功能,将缺少的数据新增至新库中,可以查看到不同的数据以及结构进行同步。 

UMC云管理平台下ESB产品升级说明_数据库_14

通过UMC数据对比功能,根据上述表进行一个对比,把新增的数据插入,如下所示: 

UMC云管理平台下ESB产品升级说明_UMC云管理平台_15

3.3数据配置 

在ESB产品的数据库表中,要连接成新环境下的数据库信息,可通过新版server配置文件和旧版产品配置文件进行对比。修改对应配置文件信息config.properties的相关数据。

UMC云管理平台下ESB产品升级说明_数据_16

修改后,可到产品数据库资源模块进行测试连接,不同环境下的产品数据库都要进行测试连接。 

UMC云管理平台下ESB产品升级说明_UMC云管理平台_17

4产品配置 

在整体升级之前要提前做准备工作,保障企业业务等可以正常运转,数据处理完成后需要进行产品的相关配置,首先上传镜像,成功后进行租户配置,进行产品的升级和启动。 

4.1镜像信息 

1.首先来到UMC控制台,打开镜像信息模块,把ESB产品server进行上传镜像。这一步主要是对“esb_server_x64_v3.5.6_xxxxxxxx”文件的操作。 

UMC云管理平台下ESB产品升级说明_UMC云管理平台_18

UMC云管理平台下ESB产品升级说明_产品升级_19

2.选择“上传”按钮,选择“esb_server_x64_v3.5.6_xxxxxxxx”文件进行上传。 

UMC云管理平台下ESB产品升级说明_上传_20

3.上传成功后,依次点击“构造镜像”-“推送镜像”,推送镜像成功后即完成新产品的镜像上传。 

UMC云管理平台下ESB产品升级说明_数据库_21

4.推送镜像成功后,会弹出成功窗口。 

UMC云管理平台下ESB产品升级说明_上传_22

4.2租户配置 

1.这时在租户配置模块,找到“租户配置”页面,位置如下。 

UMC云管理平台下ESB产品升级说明_产品升级_23

2.选择需要升级的环境产品后,点击deploy部署状态的编辑按钮。 

UMC云管理平台下ESB产品升级说明_UMC云管理平台_24

3.进入编辑deploy弹窗,点击反创建按钮,再选择引用镜像按钮,选择刚刚上传的产品镜像。 

UMC云管理平台下ESB产品升级说明_数据_25

4.再依次点击“反创建”-“编辑”-“保存”。 

UMC云管理平台下ESB产品升级说明_上传_26

5.在编辑页面点击“创建”按钮,会弹出yaml详情,点击“确认创建”。 

UMC云管理平台下ESB产品升级说明_产品升级_27

6.这时就已经替换完毕了,点击“查看状态”按钮,查看产品启动情况。 

UMC云管理平台下ESB产品升级说明_数据库_28

7.如果是否启动处为“1/1”,即为启动成功。 

UMC云管理平台下ESB产品升级说明_数据库_29

4.3注意事项 

1.及时对产品进行补丁上传,在启动新版本产品时,注意需要将历史补丁文件禁用,全部配置完成后对ESB产品集成流程等各个模块以及页面均进行测试及调试。 

UMC云管理平台下ESB产品升级说明_数据_30

2.在升级的过程中对server相关的参数进行优化调整,包括数据库连接、系统全局变量等。 

UMC云管理平台下ESB产品升级说明_数据库_31

3.对数据库的更新内容进行记录,以便在更新生产环境数据库时进行相同操作,也方便在调整错误后及时进行回滚,避免发生无法恢复的状态。 

UMC云管理平台下ESB产品升级说明_产品升级_32

5心得说明 

通过本次项目的环境升级部署以及产品升级,加深了对于产品的理解,同时也暴露了自身的诸多问题,下面对于能力提升、个人收获、心得体会进行总结。 

5.1能力提升 

通过平时过程中对技能点的随手记录,在撰写这篇文章的过程中,再次缕清自己的逻辑。在后续工作中,应该把文档分门别类的整理出来,例如教程类的归为一类、错误信息及解决方案的归为一类、知识点归为一类,以便日后的更新迭代及快速查找。 

5.2个人收获 

通过近期工作让我认识到,在工作过程中应该勤与公司领导、同事沟通交互,在遇到困难时应该面对困难,与公司协调资源将事情解决,而不是在领导追问时才将事情暴露出来,所以主动暴露问题在工作中也是至关重要的,只有主动暴露问题才能更快地将问题解决。 

5.3心得体会 

在本次升级中,发现自身对升级以及环境部署步骤掌握得不够到位。对于数据的更新升级需要有耐心及细心,在记录数据库变更时,对于产品数据表的结构以及产品在环境上的使用情况也更加深入。遇到问题要多记录、多整理,以便日后工作时的快速查找。 

目前对升级的理解还停留在UMC配置构造和上传镜像这部分,对升级的数据库结构部分还需要加强学习,后续还需要继续深入了解公司产品。