1.本说明书涉及计算机技术领域,尤其涉及一种微服务的部署方法、装置、设备及介质。
背景技术:
2.随着微服务部署模式的兴起,单体应用已经无法满足新技术下生产环境的更新速度与部署模式,但是微服务部署需要的组建过于复杂,可能会导致运维成本和安全成本居高不下。基于此,在某些低成本的开发测试以及生产环境中,部署一套微服务环境成为急需解决的问题。
技术实现要素:
3.本说明书一个或多个实施例提供了一种微服务的部署方法、装置、设备及介质,用于解决背景技术提出的技术问题。
4.本说明书一个或多个实施例采用下述技术方案:
5.本说明书一个或多个实施例提供的一种微服务的部署方法,包括:
6.在微服务中部署调用api的第一
服务器与提供服务的第二服务器;
7.根据预先设定的服务名,设定
所述微服务中
产品的
路径;
8.根据预先设定的周期,通过所述第一服务器对所述微服务中产品的路径进行轮询;
9.若轮询结果中所述微服务中产品的路径未出现异常,完成所述微服务中所述第一服务器与所述第二服务器的部署,并通过所述第二服务器提供对应的服务。
10.进一步的,所述完成所述微服务中所述第一服务器与所述第二服务器的部署前,所述方法还包括:
11.设定所述微服务中产品的ip地址;
12.根据预先设定的周期,对所述微服务中产品的ip地址进行轮询;
13.若轮询结果中所述微服务中产品的ip地址未出现异常,则完成所述微服务的部署。
14.进一步的,所述完成所述微服务中所述第一服务器与所述第二服务器的部署后,所述方法还包括:
15.将所述微服务中产品的ip地址与路径记录到所述第一服务器的配置文件中,并在所述配置文件记录时间戳;
16.若在所述时间戳的下一时刻通过所述第一服务器对所述微服务中产品的路径与ip地址进行轮询时,判断所述微服务中产品的路径与ip地址是否记录在所述配置文件中;
17.若所述微服务中产品的路径与ip地址记录在所述配置文件中,终止轮询。
18.进一步的,若所述微服务中产品的路径与ip地址记录未在所述配置文件中,所述方法还包括:
19.通过所述第一服务器对所述微服务中产品的路径与ip地址进行轮询。
20.进一步的,若轮询结果中所述微服务中产品的路径出现异常,将所述产品终止服务。
21.进一步的,所述完成所述微服务中所述第一服务器与所述第二服务器的部署后,所述方法还包括:
22.将所述产品的ip地址与路径动态注册到负载均衡服务器中,以便通过所述负载均衡服务器动态调节所述产品的负载。
23.进一步的,所述完成所述微服务中所述第一服务器与所述第二服务器的部署后,所述方法还包括:
24.对所述产品的访问情况进行监控和诊断。
25.本说明书一个或多个实施例提供的一种微服务的部署装置,所述装置包括:
26.初步部署单元,在微服务中部署调用api的第一服务器与提供服务的第二服务器;
27.设定单元,根据预先设定的服务名,设定所述微服务中产品的路径;
28.轮询单元,根据预先设定的周期,通过所述第一服务器对所述微服务中产品的路径进行轮询;
29.部署结果单元,若轮询结果中所述微服务中产品的路径未出现异常,完成所述微服务中所述第一服务器与所述第二服务器的部署,并通过所述第二服务器提供对应的服务。
30.本说明书一个或多个实施例提供的一种微服务的部署设备,包括:
31.至少一个处理器;以及,
32.与所述至少一个处理器通信连接的存储器;其中,
33.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
34.在微服务中部署调用api的第一服务器与提供服务的第二服务器;
35.根据预先设定的服务名,设定所述微服务中产品的路径;
36.根据预先设定的周期,通过所述第一服务器对所述微服务中产品的路径进行轮询;
37.若轮询结果中所述微服务中产品的路径未出现异常,完成所述微服务中所述第一服务器与所述第二服务器的部署,并通过所述第二服务器提供对应的服务。
38.本说明书一个或多个实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
39.在微服务中部署调用api的第一服务器与提供服务的第二服务器;
40.根据预先设定的服务名,设定所述微服务中产品的路径;
41.根据预先设定的周期,通过所述第一服务器对所述微服务中产品的路径进行轮询;
42.若轮询结果中所述微服务中产品的路径未出现异常,完成所述微服务中所述第一服务器与所述第二服务器的部署,并通过所述第二服务器提供对应的服务。
43.本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
44.本说明书实施例可以基于基本的文件与网络请求命令,实现快速的微服务发现与
存活检查,避免引入过多复杂度,避免部署过于复杂和组件导致的安全问题。
附图说明
45.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
46.图1为本说明书一个或多个实施例提供的一种微服务的部署方法的流程示意图;
47.图2为本说明书一个或多个实施例提供的一种微服务的部署装置的结构示意图;
48.图3为本说明书一个或多个实施例提供的一种微服务的部署设备的结构示意图。
具体实施方式
49.本说明书实施例提供一种微服务的部署方法、装置、设备及介质。
50.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
51.图1为本说明书一个或多个实施例提供的一种微服务的部署方法的流程示意图,该流程可以由微服务的部署系统执行,可以为低成本的开发测试部署微服务环境。流程中的某些输入参数或者中间结果允许人工干预调节,以帮助提高准确性。
52.本说明书实施例的方法流程步骤如下:
53.s102,在微服务中部署调用api的第一服务器与提供服务的第二服务器。
54.在本说明书实施例中,根据实际需求,第一服务器与第二服务器可以部署多个。第一服务器需要能够访问到第二服务器,第一服务器也需要能够识别第二服务器内部的启动文件等信息,并且能够进行网络连通性检查。
55.s104,根据预先设定的服务名,设定所述微服务中产品的路径。
56.在本说明书实施例中,为了后续步骤的验证,可以将产品的服务名与端口号通过写文件的方式设定为产品的路径。
57.s106,根据预先设定的周期,通过所述第一服务器对所述微服务中产品的路径进行轮询。
58.在本说明书实施例中,对服务器中产品的路径进行轮询时,可以是对路径的格式进行验证,也可以预先已设定该产品的路径,轮询时校验当前的路径与预先设定的路径是否相同。
59.s108,若轮询结果中所述微服务中产品的路径未出现异常,完成所述微服务中所述第一服务器与所述第二服务器的部署,并通过所述第二服务器提供对应的服务。
60.进一步的,本说明书实施例在完成所述微服务中所述第一服务器与所述第二服务器的部署前,还可以设定所述微服务中产品的ip地址;根据预先设定的周期,对所述微服务中产品的ip地址进行轮询,此处对产品的ip地址进行轮询,与对产品的路径的轮询采用相
同的方式;若轮询结果中所述微服务中产品的ip地址未出现异常,则完成所述微服务的部署,本说明书实施例可以通过对产品的ip地址与路径同时进行轮询的方式,使得微服务的产品可以提供更稳定的服务。
61.进一步的,本说明书实施例在完成所述微服务中所述第一服务器与所述第二服务器的部署后,可以将所述微服务中产品的ip地址与路径记录到所述第一服务器的配置文件中,并在所述配置文件记录时间戳;若在所述时间戳的下一时刻通过所述第一服务器对所述微服务中产品的路径与ip地址进行轮询时,判断所述微服务中产品的路径与ip地址是否记录在所述配置文件中;若所述微服务中产品的路径与ip地址记录在所述配置文件中,终止轮询。若所述微服务中产品的路径与ip地址记录未在所述配置文件中,可以通过所述第一服务器对所述微服务中产品的路径与ip地址进行轮询。
62.进一步的,在本说明书实施例中,若轮询结果中所述微服务中产品的路径出现异常,可以将所述产品终止服务,以避免产品在提供服务时出现错误,为用户带来不必要的损失。
63.进一步的,本说明书实施例完成所述微服务中所述第一服务器与所述第二服务器的部署后,可以将所述产品的ip地址与路径动态注册到负载均衡服务器中,以便通过所述负载均衡服务器动态调节所述产品的负载。
64.进一步的,本说明书实施例完成所述微服务中所述第一服务器与所述第二服务器的部署后,可以对所述产品的访问情况进行监控和诊断。能够剔除异常服务器,对压力大的服务器降低访问数量,以降低负载。
65.进一步的,随着互联网电子商务、直播与移动app的兴起,开发模式已经从之前的大版本发布转到了微服务快速迭代模式。单体应用无法满足产品快速迭代增加新特性的需求,所以需要进行微服务部署。应用的拆分会导致引入更多的组建,比如zookeeper实现服务注册,或者nacos进行服务注册发现,以及consul等工具进行相关的业务处理。
66.本说明书实施例可以基于基本的文件与网络请求命令,实现快速的微服务发现与存活检查,避免引入过多复杂度,避免部署过于复杂和组件导致的安全问题。
67.本说明书实施例针对上述技术方案,可以通过下述具体内容:
68.1.本说明书实施例可以基于多台linux服务器来实现微服务的部署发现与存活检查,调用时仅需要在前置服务器上面进行路径设定即可,不需要进行其他的开源组件的处理。
69.2.本说明书实施例至少需要2组服务器,一组服务器用来调用api,一组服务器用来提供具体服务。需要注意的是,调用api的服务器需要能够访问到提供具体服务的服务器,能够识别服务器内部的启动文件等信息.并且能够进行网络连通性检查。
70.3.本说明书实施例需要对产品进行一定程度的改造,需要服务启动成功之后,将该产品的服务名与暴露的端口号通过写文件的方式写到本服务器的具体路径.比如本服务器的/app路径下,具体路径可以为服务名+进程号+端口号信息。另外,本说明书实施例需要对产品的ip地址进行约束,ip地址可以使用http://ip地址:端口号/服务名/xxxx的格式进行暴露和使用。本说明书实施例可以对相同服务使用一致的端口,以方便路由。不同服务使用不一样的端口以减少服务器资源的浪费,保证路由的准确性。
71.4.调用api的服务器需要将所有提供服务的服务器列表添加到列表中定期进行轮
询。
72.4.1需要轮询每一个服务器的/app路径下的文件.然后将具体路径和ip地址记录到调用api服务器的配置文件中进行备用。
73.4.2上一步操作完成之后需要记录一个时间戳操作,下次检查不再检查文件在时间戳之前的文件。
74.4.3根据4.1记录的具体路径和ip地址,可以设置一个调用检查功能,每5秒钟轮询一次端口,如果连续三次检查端口不存在,可以将4.1的列表内的具体路径和ip地址信息删除。
75.4.4删除不存活的具体路径与ip地址的同时,需要对提供服务的服务器的ip地址进行服务启动尝试,并且删除/app目录下面旧的提示成功的文件,已备份使用。
76.5.可以在调用api的服务器上面增加一个基于内核实现的.调用到本服务器的ip地址.然后使用4.1步骤产生的配置文件进行路由配置。比如调用过来的是http://调用api服务器ip/服务a/xxxx需要改成:http://服务器a所在的ip地址:服务a对应的端口/服务a/xxxx进行传递使用。
77.6.基于4.3和4.4的活跃检查,保证不会一只调用到错误的服务上面。
78.此外,本说明书实施例还可以通过下述实施方案:
79.s1产品优化调整,服务器资源设置.需要将产品进行优化.拆分服务进行部署时api必须按照服务的前缀进行区分,比如财务会计就是/api/cw资金管理就是/api/zj,然后服务注册发现的机器上面修改信息使之能够进行联通。
80.s2运行服务的环境需要动态注册到负载均衡的服务器上面,将ip地址以及具体路径进行动态注册.比如ip1:cw ip2:cw,这样就可以通过具体路径,负载到指定机器中去。
81.s3如果服务有异常,动态取消hosts等的服务注册发现机制.避免负载到异常机器出现异常。
82.s4对访问情况进行监控和诊断,能够剔除异常服务器,对压力大的服务器降低路由过去的访问数量,降低负载。
83.图2为本说明书一个或多个实施例提供的一种微服务的部署装置的结构示意图,所述装置包括:初步部署单元202、设定单元204、轮询单元206与部署结果单元208。
84.初步部署单元202,在微服务中部署调用api的第一服务器与提供服务的第二服务器;
85.设定单元204,根据预先设定的服务名,设定所述微服务中产品的路径;
86.轮询单元206,根据预先设定的周期,通过所述第一服务器对所述微服务中产品的路径进行轮询;
87.部署结果单元208,若轮询结果中所述微服务中产品的路径未出现异常,完成所述微服务中所述第一服务器与所述第二服务器的部署,并通过所述第二服务器提供对应的服务。
88.图3为本说明书一个或多个实施例提供的一种微服务的部署设备的结构示意图,包括:
89.至少一个处理器;以及,
90.与所述至少一个处理器通信连接的存储器;其中,
91.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
92.在微服务中部署调用api的第一服务器与提供服务的第二服务器;
93.根据预先设定的服务名,设定所述微服务中产品的路径;
94.根据预先设定的周期,通过所述第一服务器对所述微服务中产品的路径进行轮询;
95.若轮询结果中所述微服务中产品的路径未出现异常,完成所述微服务中所述第一服务器与所述第二服务器的部署,并通过所述第二服务器提供对应的服务。
96.本说明书一个或多个实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
97.在微服务中部署调用api的第一服务器与提供服务的第二服务器;
98.根据预先设定的服务名,设定所述微服务中产品的路径;
99.根据预先设定的周期,通过所述第一服务器对所述微服务中产品的路径进行轮询;
100.若轮询结果中所述微服务中产品的路径未出现异常,完成所述微服务中所述第一服务器与所述第二服务器的部署,并通过所述第二服务器提供对应的服务。
101.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
102.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
103.以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
技术特征:
1.一种微服务的部署方法,其特征在于,所述方法包括:在微服务中部署调用api的第一服务器与提供服务的第二服务器;根据预先设定的服务名,设定所述微服务中产品的路径;根据预先设定的周期,通过所述第一服务器对所述微服务中产品的路径进行轮询;若轮询结果中所述微服务中产品的路径未出现异常,完成所述微服务中所述第一服务器与所述第二服务器的部署,并通过所述第二服务器提供对应的服务。2.根据权利要求1所述的方法,其特征在于,所述完成所述微服务中所述第一服务器与所述第二服务器的部署前,所述方法还包括:设定所述微服务中产品的ip地址;根据预先设定的周期,对所述微服务中产品的ip地址进行轮询;若轮询结果中所述微服务中产品的ip地址未出现异常,则完成所述微服务的部署。3.根据权利要求2所述的方法,其特征在于,所述完成所述微服务中所述第一服务器与所述第二服务器的部署后,所述方法还包括:将所述微服务中产品的ip地址与路径记录到所述第一服务器的配置文件中,并在所述配置文件记录时间戳;若在所述时间戳的下一时刻通过所述第一服务器对所述微服务中产品的路径与ip地址进行轮询时,判断所述微服务中产品的路径与ip地址是否记录在所述配置文件中;若所述微服务中产品的路径与ip地址记录在所述配置文件中,终止轮询。4.根据权利要求3所述的方法,其特征在于,若所述微服务中产品的路径与ip地址记录未在所述配置文件中,所述方法还包括:通过所述第一服务器对所述微服务中产品的路径与ip地址进行轮询。5.根据权利要求1所述的方法,其特征在于,若轮询结果中所述微服务中产品的路径出现异常,将所述产品终止服务。6.根据权利要求2所述的方法,其特征在于,所述完成所述微服务中所述第一服务器与所述第二服务器的部署后,所述方法还包括:将所述产品的ip地址与路径动态注册到负载均衡服务器中,以便通过所述负载均衡服务器动态调节所述产品的负载。7.根据权利要求2所述的方法,其特征在于,所述完成所述微服务中所述第一服务器与所述第二服务器的部署后,所述方法还包括:对所述产品的访问情况进行监控和诊断。8.一种微服务的部署装置,其特征在于,所述装置包括:初步部署单元,在微服务中部署调用api的第一服务器与提供服务的第二服务器;设定单元,根据预先设定的服务名,设定所述微服务中产品的路径;轮询单元,根据预先设定的周期,通过所述第一服务器对所述微服务中产品的路径进行轮询;部署结果单元,若轮询结果中所述微服务中产品的路径未出现异常,完成所述微服务中所述第一服务器与所述第二服务器的部署,并通过所述第二服务器提供对应的服务。9.一种微服务的部署设备,其特征在于,包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:在微服务中部署调用api的第一服务器与提供服务的第二服务器;根据预先设定的服务名,设定所述微服务中产品的路径;根据预先设定的周期,通过所述第一服务器对所述微服务中产品的路径进行轮询;若轮询结果中所述微服务中产品的路径未出现异常,完成所述微服务中所述第一服务器与所述第二服务器的部署,并通过所述第二服务器提供对应的服务。10.一种非易失性计算机存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令设置为:在微服务中部署调用api的第一服务器与提供服务的第二服务器;根据预先设定的服务名,设定所述微服务中产品的路径;根据预先设定的周期,通过所述第一服务器对所述微服务中产品的路径进行轮询;若轮询结果中所述微服务中产品的路径未出现异常,完成所述微服务中所述第一服务器与所述第二服务器的部署,并通过所述第二服务器提供对应的服务。
技术总结
本说明书实施例公开了一种微服务的部署方法、装置、设备及介质,包括:在微服务中部署调用API的第一服务器与提供服务的第二服务器;根据预先设定的服务名,设定所述微服务中产品的路径;根据预先设定的周期,通过所述第一服务器对所述微服务中产品的路径进行轮询;若轮询结果中所述微服务中产品的路径未出现异常,完成所述微服务中所述第一服务器与所述第二服务器的部署,并通过所述第二服务器提供对应的服务。对应的服务。对应的服务。
技术研发人员:
赵本帅 周斐
受保护的技术使用者:
浪潮通用软件有限公司
技术研发日:
2022.08.23
技术公布日:
2022/11/25