一种基于微服务的系统构建方法与流程

文档序号:33459235发布日期:2023-03-15 03:17阅读:25来源:国知局
一种基于微服务的系统构建方法与流程

1.本发明涉及计算机技术领域,特别是涉及一种基于微服务的系统构建方法。


背景技术:

2.办公自动化(office automation,简称oa)系统是集团公司公文流转的大型综合办公系统,也是集团公司关键的办公应用核心系统,随着信息化、数字化、网络化不断发展及国际形式的不断变化,各地政府纷纷响应国家号召,从技术体系引进、强化产业基础、加强保障能力、加快数字转型等方面着手,促进国产化产业在本地落地生根。oa国产化工作是集团公司的重点工作之一,也是集团公司数字化转型的重要举措。
3.为推进全系统国产化治理体系,贯彻集团公司数字国产化转型的方针政策,完成“自主可控”应用系统建设目标,同时为“十四五”时期集团公司的信息化技术应用创新工作打下良好的开端,集团公司拟在已有集团标准化oa的基础上,构建国产化oa系统,打造自主可控的国产化oa系统。在华能云数据中心it基础设施支撑基础上,做到平台资源自动扩展与回收的动态管理,提高平台的运行能力、稳定性、安全性和共享交付能力,满足全集团的总体需求。


技术实现要素:

4.有鉴于此,本发明提供了一种基于微服务的系统构建方法,以实现集团化公司由标准化oa向国产化oa转型,且保证平台的稳定性、安全性及提高管理效率。
5.为了实现上述目的,本发明采用如下技术方案:
6.一种基于微服务的系统构建方法,包括
7.获取预先建立的适用于待构建系统的系统架构;
8.根据所述待构建系统的需求和所述系统架构,获取微服务,构建所述待构建系统;
9.对所述待构建系统进行压力测试,并根据所述压力测试结果进行分析,构建基于微服务的系统部署模式。
10.在其中的一些实施例中,所述对所述待构建系统进行压力测试,并根据所述压力测试结果进行分析,构建基于微服务的系统部署模式包括:
11.对所述待构建系统进行压力测试,记录所述待构建系统的实际性能数据;
12.根据所得到的实际性能数据,分析所述待构建系统的性能,并根据分析结果评估所述待构建系统是否满足用户实际使用要求。
13.在其中的一些实施例中,所述对所述待构建系统进行压力测试,并根据所述压力测试结果进行分析,构建基于微服务的系统部署模式包括:
14.对所述待构建系统进行运行稳定性测试,记录所述待构建系统的稳定性测试结果;
15.根据所得到的稳定性测试结果,分析所述待构建系统的硬件性能,并根据分析结果确定基于微服务的系统最优部署模式。
16.在其中的一些实施例中,所述待构建系统的服务器端采用云化管理,且采用兼容x86架构硬件和国产化架构硬件的服务器。
17.在其中的一些实施例中,所述待构建系统的数据库通过mysql搭建的数据库集群提供rds服务,且所述数据库集群包括达梦、人大金仓、南大通用、优炫、greatdb。
18.在其中的一些实施例中,所述微服务包括集团总部微服务和分级单位微服务,所述分级单位微服务向所述集团总部微服务完全开放,且所述集团总部微服务获取并拓展所述分级单位微服务的全部功能。
19.在其中的一些实施例中,所述系统架构包括
20.控制管理单元,用于接收开发所述待构建系统的用户事件请求,并根据用户事件请求预构建所述待构建系统;
21.协同服务单元,根据用户事件请求构建统一的基础设施平台和/或个性化设施平台。
22.在其中的一些实施例中,所述协同服务单元包括表现层、逻辑层、持久层和资源层,通过多层次交互的方式构建满足用户实际使用要求的所述待构建系统。
23.本发明还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的基于微服务的系统构建方法。
24.以及本发明还提供了一种计算机可读存储介质,存储有计算机程序,所述程序被处理器执行时实现如上所述的基于微服务的系统构建方法。
25.本发明提供了一种基于微服务的系统构建方法,与现有技术相比,其有益效果在于:
26.本发明基于现有技术开发架构和协同办公业务发展,在微服务化基础上向“共享服务、敏捷前台”的模式演变,实现“后台微服务、前台微应用”的协同发展,致力于敏捷交付与共享能力提升;
27.本发明的国产化oa系统是在信创资源环境、x86平台下运行,以实现公司大型综合办公系统向国产化转型的需求,经过合理的规划和多次实际压力测试,采用各区域公司分布式部署,集团公司独立部署的部署方式,实现标准化国产化oa系统,并且采用华能云数据平台(平台采用多层次交互方式)、微服务架构设计以及高可用集群数据架构部署方式的建设方案实现国产化产品完全替代非国产化产品的最终目的,并且经过压力测试及试运行后国产化系统运行稳定。
附图说明
28.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中
29.图1为本发明实施例基于微服务的系统构建方法流程示意图;
30.图2为本发明实施例系统压测环境部署架构。
具体实施方式
31.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
32.本发明实施例提供了一种基于微服务的系统构建方法,如图1所示,包括
33.步骤s100.获取预先建立的适用于待构建系统的系统架构;
34.步骤s200.根据所述待构建系统的需求和所述系统架构,获取微服务,构建所述待构建系统;
35.步骤s300.对所述待构建系统进行压力测试,并根据所述压力测试结果进行分析,构建基于微服务的系统部署模式。
36.在本发明的一些实施例中,所述对所述待构建系统进行压力测试,并根据所述压力测试结果进行分析,构建基于微服务的系统部署模式包括:
37.步骤s301.对所述待构建系统进行压力测试,记录所述待构建系统的实际性能数据;
38.步骤s302.根据所得到的实际性能数据,分析所述待构建系统的性能,并根据分析结果评估所述待构建系统是否满足用户实际使用要求。
39.在本发明的一些实施例中,所述对所述待构建系统进行压力测试,并根据所述压力测试结果进行分析,构建基于微服务的系统部署模式包括:
40.步骤s301.对所述待构建系统进行运行稳定性测试,记录所述待构建系统的稳定性测试结果;
41.步骤s302.根据所得到的稳定性测试结果,分析所述待构建系统的硬件性能,并根据分析结果确定基于微服务的系统最优部署模式。
42.在本发明的一些实施例中,所述对所述待构建系统进行压力测试,并根据所述压力测试结果进行分析,构建基于微服务的系统部署模式包括:
43.步骤s301.通过压力测试,记录国产化oa系统在测试系统上的实际性能数据;
44.步骤s302.测试国产oa系统在信创资源环境下运行情况,并出具压测报告;
45.步骤s303.测试国产中间件在信创、x86平台下的整体运行情况及稳定性情况;
46.步骤s304.测试国产数据库在信创环境及x86平台下的整体运行情况及性能情况并出具测试报告;
47.步骤s305.通过性能数据,分析系统的性能瓶颈,评估软、硬件是否能够满足用户实际使用要求;
48.步骤s306.通过测试情况,进行硬件性能分析,得出应用系统的资源分配情况及数据库的最优部署模式。
49.其中,压力测试采用poc测试,poc测试,即proof of concept,是针对客户具体应用的验证性测试,根据用户对采用系统提出的性能要求和扩展需求的指标,在选用服务器上进行真实数据的运行,对承载用户数据量和运行时间进行实际测算,并根据用户未来业务扩展的需求加大数据量以验证系统和平台的承载能力和性能变化,本发明开展poc测试,
通过小范围的项目导入与实施,从真实业务的实践到战略意图的实现,来验证国产化oa系统是否能满足集团公司的需求,从而能够作出更客观更准确的判断。
50.在本发明的一些实施例中,所述待构建系统的服务器端采用华为云进行云化管理,且采用兼容x86架构硬件和国产化架构硬件的服务器,要求应用兼容x86及国产信创环境。为完成oa系统从原domino架构到国产化架构的迁移的目的,国产化oa系统在硬件上需要兼容x86资源环境与国产服务器,在终端上同样需要兼容x86与国产终端。业务应用系统的迁移不能一蹴而就,需要逐步替换,混合使用,逐渐加深国产化替换的进程,最终达到软件业务全部迁移、硬件资源逐级替换,国产化产品完全替代非国产化产品的最终目的。
51.在本发明的一些实施例中,所述待构建系统的数据库通过mysql搭建的数据库集群提供rds服务,且所述数据库集群包括达梦、人大金仓、南大通用、优炫、greatdb(万里开源);具体的在测试阶段,五家数据库公司在信息公司相同信创资源环境下进行部署测试,并从性能、功能、可靠性、可用性、安全性、可扩展性、兼容性等方面出具测试报告,通过最终测试五家数据库厂家的产品性能上稍有差异,但是整体情况均符合国产oa系统的使用要求。
52.在本发明的一些实施例中,所述待构建系统的文件服务由华为云提供对象存储服务。
53.文件服务采用华能云obs服务(对象存储服务),可通过开发平台中的租户管理为不同的区域公司配置不同的文件服务源,来进行数据隔离;obs服务提供高性能、高可靠、高可用的对象存储服务。obs是一项面向internet访问的服务,提供了基于http/https协议的web服务接口,应用系统可通过接口调用管理自己存储在obs上的数据;集团公司与分级单位间公文交换通过https协议进行文件传输,利用系统中的公文交换接口在ftp文件服务器和obs中进行文件传输。
54.在本发明的一些实施例中,所述微服务包括集团总部微服务和分级单位微服务,所述分级单位微服务向所述集团总部微服务完全开放,且所述集团总部微服务获取并拓展所述分级单位微服务的全部功能。
55.具体的,根据国产化项目的建设经验及集团的综合业务需求,以及集团公司云资源的综合管理情况和后期系统运维成本的综合考虑,在一些实施例中采用混合部署的建设方式,即集团公司与区域公司分布部署的架构模式,在集团本部采用独立虚机部署,集团公司本部以外的区域公司统一部署到分级单位云端,建设统一的云管理平台,统一纳管国产化设备和非国产化设备,管理新建国产化设备和原有非国产化两个资源池。
56.另外,由于集团各级单位办公地点在国内分布地域较广,现场条件及建设规模各不相同,且集团内部业务众多、结构复杂,国产oa系统需要根据业务实际情况,采用集中部署与分布式部署相结合的方式完成建设:集团公司国产化oa系统可以采用在数据中心部署,为集团公司用户提供办公服务;除集团公司独立部署的国产化oa系统以外,依托云数据中心为集团各区域公司及其所属单位赋能,提供最优质的业务支撑,以租户服务的模式建设国产化oa系统,同时也为其他业务系统的国产化做技术沉淀。
57.需要注意的是,国产化oa系统开发平台通过多租户模式建设各分级单位的综合办公系统,每个租户具备独立的应用访问入口,通过elb(弹性负载均衡)和waf集群(web应用防护)对用户请求进行动态分配,同时每个租户可配置独立的数据库服务和文件服务;web
应用服务通过虚拟机进行集群化部署应用服务,云管理中心可通过负载大小对虚拟机集群中的节点进行自动化扩容;数据库采用集群化部署模式,可实现读写分离,以及故障转移;开发平台中可对不同的租户配置不同的数据源,如数据库服务达到使用瓶颈,可通过扩展集群节点来缓解数据库压力。
58.在本发明的一些实施例中,所述系统架构包括
59.控制管理单元,用于接收开发所述待构建系统的用户事件请求,并根据用户事件请求预构建所述待构建系统;
60.协同服务单元,根据用户事件请求构建统一的基础设施平台和/或个性化设施平台。
61.在本发明的一些实施例中,所述协同服务单元包括表现层、逻辑层、持久层和资源层,通过多层次交互的方式构建满足用户实际使用要求的所述待构建系统。
62.具体的,表现层包括由react、layui等前端组件库开发出来的表单视图,以及系统的页面组件框架。为了使得应用开发人员能够快速开发表现层界面,平台提供了可视化的表单、视图开发环境,并且把数据组装到表单视图的功能封装成了前台组件库,可以方便地进行数据的加载及展示;
63.逻辑层,逻辑层包括平台提供的组件功能、服务调用、数据转换三个部分;其中组件功能以特定功能的业务逻辑实现,业务逻辑层中提供方便的服务调用功能,可以快速地调用各种公用组件服务,实现用户需求,平台提供了实现业务逻辑组件的标准方法,使得系统实现更清晰易懂;服务调用是把传到web服务器的http请求参数进行解析组装,并且把url中的服务组件id、方法进行解析,同时从组件库中取出对应的服务组件,把参数传到对应的服务方法中,进行方法的调用代理;数据转换是执行服务组件中的脚本方法,服务组件中可通过groovy快速调用后台服务,并起到解耦前台界面与后台业务逻辑组件的关系,前台界面变化通过脚本语言中的数据转换,可以保持业务逻辑接口不变。
64.持久层提供自研的基于json生成的sql、动态数据源等持久层的方法,可以方便地进行数据的查询、更新、删除等操作。
65.资源层可以兼容多种数据库服务、中间件服务、文件存储服务,可满足本项目中国产化部署需求。
66.本发明国产oa系统功能开发完成以后,系统进行了初步poc测试。在国产化环境下完成了系统压力测试,为国产化oa项目正式启动提供充分的依据。
67.1.压测环境
68.(1)3台数据库服务器,数据库版本是dm8.1.2.18,高可用集群,方式2主1备;
69.(2)5台应用服务器16c、32g虚机,中间件版本是tongweb7.0;
70.(3)文件服务器接入华能云obs;
71.(4)1台elb负载均衡器,采用url轮询的方式为5台应用服务器提供负载服务;
72.(5)服务器之间是万兆网络,压测软件到服务器之间是千兆网络;
73.(6)服务器均为虚拟机,品牌是华为泰山服务器,鲲鹏arm架构cpu,操作系统均为银河麒麟v10;
74.(7)压测环境部署架构如图2所示。
75.压测数据量情况如表1所示:
76.表1
77.序号数据类型要求数量1注册用户 2万2收文按注册用户数平均,即每个人100条记录200万3发文按注册用户数平均,即每个人25条记录50万4签报按注册用户数平均,即每个人25条记录50万5待办按注册用户数平均,即每个人5条记录10万6在办按注册用户数平均,即每个人5条记录10万
78.2.第一次压测
79.分别对50并发、100并发、200并发进行了压测,压测结果参见表2-4;
80.表2 50并发响应时间
[0081][0082]
表3 100并发响应时间
[0083][0084]
表4 200并发响应时间
[0085][0086]
在信创环境下第一次的压测结果平均响应时间尚可,但是存在极值过大的情况,根据综合分析,测试结果较差的原因有以下几点:
[0087]
(1)未设置缓存机制,资源加载重复请求加大了服务器压力;
[0088]
(2)公文页面元素较多,增加了浏览器端对服务器的请求数量;
[0089]
(3)日志冗杂;
[0090]
(4)数据库索引内容较多,查询速度较慢。
[0091]
针对以下问题,我们在系统性能方面进行优化,主要优化内容为:
[0092]
(1)页面(脚本)缓存
[0093]
系统针对平台需频繁调用并且不需要经常修改的自研(或第三方提供)的公共脚本,采用了浏览器缓存机制,避免每次重复加载资源;具体针对tag.iife.js,cp.min.js,app.js等平台公共的脚本,做了浏览器缓存。
[0094]
(2)服务端渲染
[0095]
模板容器、表单容器、视图容器、页面容器引用其他表单,合并当前表单或者页面组件定义数据,一次性返回给浏览器,避免浏览器重复请求。
[0096]
(3)服务端缓存
[0097]
服务器根据用户级别以及系统级别分别增加不同过期时间的缓存,保证常用以及经常性用到的数据能够及时从缓存中获取,而不需要触发查询数据库。
[0098]
(4)优化数据库索引
[0099]
针对不同的查询接口,建立必要的查询索引,增快查询速度;
[0100]
如对待办事项,在办事项等复杂查询,进行sql执行计划分析,让sql语句按照最优的索引字段执行。
[0101]
(5)请求延迟加载
[0102]
公文页面元素涉及较多的字典数据,如主送机关、发文类型、密级等数据字典,采用了延迟加载的方式,在加载完页面后,选择相应字典数据时,才向服务端发送请求,提升主页面加载速度。
[0103]
(6)合并(减少)前端请求
[0104]
公文页面元素较多,通过对业务分析、服务端渲染、请求延迟加载等方式,减少浏览器端对服务器的请求数量,优化页面打开速度。
[0105]
具体到公文页面,进行了如下优化:
[0106]
对业务进行分析,发现大部分业务不涉及内发,外发业务,则办理这部分业务时,需要获取内发列表,外发列表;
[0107]
采用服务端渲染技术,将页面需要数据一次性返回给浏览器
[0108]
通过请求延迟加载技术,只在需要的时候才请求后台服务数据
[0109]
(7)提升日志输出等级
[0110]
通过提升日志输出等级,避免服务器输出大量的日志。在压测或生产环境,将日志输出等级提升至警告级别,只有在警告级别以上的日志信息才会输出,减少服务器日志输出开销。
[0111]
(8)转换后附件缓存
[0112]
对附件转换后的版式文件进行缓存,避免用户每次打开附件都要进行转换(消耗大量的服务器计算资源),提升版式文件预览的文件打开速度。
[0113]
3.第二次压测
[0114]
系统经过以上性能优化后,为验证硬件资源性能的差异,第二次压测将分别在5台信创环境及台相同配置的为x86资源进行压测,其他基础环境不变:
[0115]
3.1x86平台压测情况
[0116]
分别对50并发、100并发、200并发进行了压测,压测结果参见表5-7;
[0117]
表550并发响应情况
[0118][0119]
表6 100并发响应情况
[0120][0121]
表7 200并发响应情况
[0122][0123]
3.2信创平台压测情况
[0124]
经过再次优化,在信创环境下分别对50并发、100并发、200并发、300并发进行了压测,压测结果参见表8-11;
[0125]
表8 50并发响应时间
[0126][0127]
表9 100并发压测情况
[0128][0129]
表10 200并发压测情况
[0130][0131]
表11 300并发压测情况
[0132][0133]
根据以上测试结果,系统在不断的进行优化后,各并发下平均值较为稳定,最大值符合规模系统的响应时间标准,各性能指标得到了较大的提升,在信创及x86平台下都能完全满足办公业务系统的性能要求及标准,可以看出当前的arm架构的华为泰山服务器性能较为先进及稳定,与x86平台在性能上不存在瓶颈差距,经过系统的多次优化,国产oa系统
性能在国产平台下极值稳定,平均值最大不超过1s,整体情况表现非常优秀。
[0134]
资源满足的情况下,国产化oa系统建议在部署在国产平台下,若国产资源供货不能,则可以采用跨平台部署的模式,从而有效满足国产化oa系统上线时间的要求。
[0135]
本发明还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的基于微服务的系统构建方法。
[0136]
以及本发明还提供了一种计算机可读存储介质,存储有计算机程序,所述程序被处理器执行时实现如上所述的基于微服务的系统构建方法。
[0137]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0138]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0139]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0140]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0141]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1