System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及应用服务高可用,特别涉及一种高可用服务实现方法及装置、电子设备、存储介质。
技术介绍
1、gtp控制台是一种管理传输任务和工作节点的web服务,所以可以通个气纳管节点、对节点进行启停控制以及创建任务等。但随着服务节点数增多,控制台任务增多,文件传输需求与查询需求的增长,因此oom问题等会越发频繁的出现。
2、为了能解决这些问题,当前主要的一种方式是依赖垂直扩容的方式,增加服务性能和增大堆内存。另一种方式则是依赖于第三方的高可用软件或者具有高可用特征的平台,在出现这些问题时将提供服务的虚拟机,从当前出现问题的物理节点上调度到另一个正常的节点,然后重新启动,或者排除掉异常节点,以此来实现故障自动隔离和自愈。
3、但是第一种方式仅是简单的扩容,没有服务逻辑,所以随着堆内存对象越来越多,还是容易出现问题,并且会导致较长的停止时间,所以没有有效避免故障的影响。第二种方式,会证件额外的软件成本,并且需要设置多个服务器,因此服务器成本也较高,所以这种方式会带来较高的成本。
技术实现思路
1、基于上述现有技术的不足,本申请提供了一种高可用服务实现方法及装置、电子设备、存储介质,以解决现有技术无法有效避免故障影响以及成本较高的问题。
2、为了实现上述目的,本申请提供了以下技术方案:
3、本申请第一方面提供了一种高可用服务实现方法,包括:
4、基于容器技术构建出多个运行的目标应用服务节点;
5、确定各个所述目标应用服务节
6、将各个所述目标应用服务节点的ip地址配置到切换配置文件中,并在所述切换配置文件中配置对外暴露的目标ip地址;其中,所述目标ip地址为部署各个所述目标应用服务节点的物理节点的ip地址;
7、在启动目标应用服务进程后,读取所述切换配置文件中的ip地址;
8、将应用容器引擎的链路的dnat规则设置为指向所述当前应用服务节点的规则,以通过所述dnat规则将服务请求路由至所述当前应用服务节点;其中,所述当前应用服务节点初始时为所述换配置文件中的默认地址对应的所述目标应用服务节点;
9、调用应用高可用进程,实时监测所述当前应用服务节点是否出现异常;
10、当监测到所述当前应用服务节点出现异常时,检测是否存在正常的备用的所述目标应用服务节点;
11、若存在正常的备用的所述目标应用服务节点,则将其中一个正常的备用的所述目标应用服务节点作为新的所述当前应用服务节点,并返回执行所述将应用容器引擎的链路的dnat规则设置为指向所述当前应用服务节点的规则。
12、可选地,在上述的高可用服务实现方法中,所述基于容器技术构建出多个运行的目标应用服务节点,包括:
13、通过修改容器文件,创建多个目标应用服务的镜像;
14、基于各个所述目标应用服务的镜像启动各个所述目标应用服务的容器,得到多个所述目标应用服务节点;
15、配置各个所述目标应用服务节点的网络。
16、可选地,在上述的高可用服务实现方法中,所述将应用容器引擎的链路的dnat规则设置为指向所述当前应用服务节点的规则,包括:
17、通过调用系统iptables规则的重置函数,删除当前所有所述应用容器引擎的链路的dnat规则,并新增指向所述当前应用服务节点的dnat规则。
18、可选地,在上述的高可用服务实现方法中,所述调用应用高可用进程,实时监测所述当前应用服务节点是否出现异常,包括:
19、调用所述应用高可用进程,向所述当前应用服务节点发送探活访问请求;
20、判断是否在预设等待时间长度内收到所述当前应用服务节点的响应信息;
21、若判断出在预设等待时间长度内未收到所述当前应用服务节点的响应信息,则判断连续在预设等待时间长度内未收到所述当前应用服务节点的响应信息的次数是否已达到预设次数;
22、若判断出在预设等待时间长度内收到所述当前应用服务节点的响应信息,或判断出连续在预设等待时间长度内未收到所述当前应用服务节点的响应信息的次数未达到预设次数,则在等待预设时间间隔后,返回执行所述向所述当前应用服务节点发送探活访问请求;
23、若判断出连续在预设等待时间长度内未收到所述当前应用服务节点的响应信息的次数已达到预设次数,则确定所述当前应用服务节点出现异常。
24、可选地,在上述的高可用服务实现方法中,所述检测是否存在正常的备用的所述目标应用服务节点之后,还包括:
25、若不存在正常的备用的所述目标应用服务节点,则停止所述目标应用服务进程,并反馈节点切换失败。
26、可选地,在上述的高可用服务实现方法中,还包括:
27、开启时钟同步,以记录各个事件的发生时间;
28、基于记录的各个所述事件的发生时间,计算切换时间以及恢复时间;其中,所述切换时间指代在监测到所述当前应用服务节点出现异常,至完成节点切换的时间;所述恢复时间指代在开始切换节点至业务恢复的时间。
29、本申请第二方面提供了一种高可用服务实现装置,包括:
30、构建单元,用于基于容器技术构建出多个运行的目标应用服务节点;
31、地址确定单元,用于确定各个所述目标应用服务节点的ip地址;
32、地址配置单元,用于将各个所述目标应用服务节点的ip地址配置到切换配置文件中,并在所述切换配置文件中配置对外暴露的目标ip地址;其中,所述目标ip地址为部署各个所述目标应用服务节点的物理节点的ip地址;
33、地址读取单元,用于在启动目标应用服务进程后,读取所述切换配置文件中的ip地址;
34、规则设置单元,用于将应用容器引擎的链路的dnat规则设置为指向所述当前应用服务节点的规则,以通过所述dnat规则将服务请求路由至所述当前应用服务节点;其中,所述当前应用服务节点初始时为所述换配置文件中的默认地址对应的所述目标应用服务节点;
35、监测单元,用于调用应用高可用进程,实时监测所述当前应用服务节点是否出现异常;
36、检测单元,用于当监测到所述当前应用服务节点出现异常时,检测是否存在正常的备用的所述目标应用服务节点;
37、切换单元,用于在存在正常的备用的所述目标应用服务节点时,将其中一个正常的备用的所述目标应用服务节点作为新的所述当前应用服务节点,并返回所述规则设置单元执行所述将应用容器引擎的链路的dnat规则设置为指向所述当前应用服务节点的规则。
38、可选地,在上述的高可用服务实现装置中,所述构建单元,包括:
39、创建单元,用于通过修改容器文件,创建多个目标应用服务的镜像;
40、启用单元,用于基于各个所述目标应用服务的镜像启动各个所述目标应用服务的容器,得到多个所述目标应用服务节点;
41、网络配置单元,用于配置本文档来自技高网...
【技术保护点】
1.一种高可用服务实现方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于容器技术构建出多个运行的目标应用服务节点,包括:
3.根据权利要求2所述的方法,其特征在于,所述将应用容器引擎的链路的DNAT规则设置为指向所述当前应用服务节点的规则,包括:
4.根据权利要求1所述的方法,其特征在于,所述调用应用高可用进程,实时监测所述当前应用服务节点是否出现异常,包括:
5.根据权利要求1所述的方法,其特征在于,所述检测是否存在正常的备用的所述目标应用服务节点之后,还包括:
6.根据权利要求1所述的方法,其特征在于,还包括:
7.一种高可用服务实现装置,其特征在于,包括:
8.根据权利要求7所述的装置,其特征在于,所述构建单元,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机存储介质,其特征在于,用于存储计算机程序,所述计算机程序被执行时,用于实现如权利要求1至6任意一项所述的高可用服务实现方法。
【技术特征摘要】
1.一种高可用服务实现方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于容器技术构建出多个运行的目标应用服务节点,包括:
3.根据权利要求2所述的方法,其特征在于,所述将应用容器引擎的链路的dnat规则设置为指向所述当前应用服务节点的规则,包括:
4.根据权利要求1所述的方法,其特征在于,所述调用应用高可用进程,实时监测所述当前应用服务节点是否出现异常,包括:
5.根据权利要求1所述的方法,其特征...
【专利技术属性】
技术研发人员:徐云涛,
申请(专利权)人:中国农业银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。