一种服务集群的状态调整方法与系统与流程
未命名
09-11
阅读:72
评论:0

1.本发明涉及互联网技术领域,特别涉及一种服务集群的状态调整方法与系统。
背景技术:
2.目前现在的服务端大部分系统为了满足高并发,高可用等要求,基本上都是采用分布式部署的方式。而采用分布式部署架构后,就会需要较多的应用实例部署在不同的机器之上,比如说一个数据库集群,使用1主2从的方式进行分布式部署,通常方式下,主节点为了确保从节点的可用性,会通过心跳的方式,定时向从节点发送心跳,根据心跳返回信息来确保从节点是否存活,当从节点出现故障后,心跳反馈不及时,将会有主节点进行从节点的相关处理。可是,当1主多从部署架构方式下,主节点能够正常发送心跳包,但是对外业务不可用时,实际主节点处于将死状态,程序将无法及时地发现此故障,因而后续需要特殊处理或者人工处理。
3.因此,如何及时发现并处理这种情况,是当前所要解决的技术问题。
技术实现要素:
4.本发明所要解决的技术问题是:提供一种服务集群的状态调整方法与系统,能够及时发现主节点的将死状态并及时处理。
5.为了解决上述技术问题,本发明采用的技术方案为:
6.一种服务集群的状态调整方法,包括步骤:
7.s1、各个从节点根据第一预设周期向主节点的预设查询功能接口发送查询请求,并接收主节点的返回数据;
8.s2、根据主节点的返回数据判断主节点是否存在功能异常,若主节点存在功能异常,则根据预设流程自各从节点中选举升级得到新的主节点,将原来的主节点降级为从节点,并发出告警信息。
9.为了解决上述技术问题,本发明采用的另一种技术方案为:
10.一种服务集群的状态调整系统,包括主节点以及至少一个的从节点,主节点包括第一处理器、第一存储器以及存储在所述第一存储器中并可在所述第一处理器上运行的第一计算机程序,从节点包括第二处理器、第二存储器以及存储在所述第二存储器中并可在第二处理器上运行的第二计算机程序,所述第二处理器执行所述第二计算机程序时实现以下步骤:
11.s1、根据第一预设周期向主节点的预设查询功能接口发送查询请求,并接收主节点的返回数据;
12.s2、根据主节点的返回数据判断主节点是否存在功能异常,若主节点存在功能异常,则根据预设流程自各从节点中选举升级得到新的主节点,将原来的主节点降级为从节点,并发出告警信息。
13.本发明的有益效果在于:本发明的一种服务集群的状态调整方法与系统,在分布
式部署的集群中,由从节点定期向主节点提供的查询功能接口发送查询请求,以根据返回情况确认主节点是否可用,在主节点不可用时能够及时自从节点中选取出新的主节点,解决了现有技术中存在主节点能够正常发送心跳包,但是对外业务不可用,即处于将死状态,程序将无法及时发现的问题。
附图说明
14.图1为本发明实施例的一种服务集群的状态调整方法的流程图;
15.图2为本发明实施例的一种服务集群的状态调整系统的结构图;
16.标号说明:
17.1、一种服务集群的状态调整系统;2、主节点;3、第一处理器;4、第一存储器;5、从节点;6、第二处理器;7、第二存储器。
具体实施方式
18.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
19.请参照图1,一种服务集群的状态调整方法,包括步骤:
20.s1、各个从节点根据第一预设周期向主节点的预设查询功能接口发送查询请求,并接收主节点的返回数据;
21.s2、根据主节点的返回数据判断主节点是否存在功能异常,若主节点存在功能异常,则根据预设流程自各从节点中选举升级得到新的主节点,将原来的主节点降级为从节点,并发出告警信息。
22.从上述描述可知,本发明的有益效果在于:本发明的一种服务集群的状态调整方法与系统,在分布式部署的集群中,由从节点定期向主节点提供的查询功能接口发送查询请求,以根据返回情况确认主节点是否可用,在主节点不可用时能够及时自从节点中选取出新的主节点,解决了现有技术中存在主节点能够正常发送心跳包,但是对外业务不可用,即处于将死状态,程序将无法及时发现的问题。
23.进一步的,步骤s1还包括步骤:
24.s11、主节点根据第一预设周期向各个从节点发送心跳包,并接收从节点返回的心跳信息;
25.步骤s2还包括步骤:
26.s21、主节点根据所述心跳信息确定从节点是否存在异常,若从节点存在异常,则发出告警。
27.由上述描述可知,主节点仍然通过心跳包的方式,确认从节点的状态,在从节点异常时能够及时告警。
28.进一步地,根据主节点的返回数据判断主节点是否存在功能异常具体为:
29.各从节点分别根据所述主节点的返回数据,判断是否存在异常,若存在异常,则记录异常次数;
30.判断预设时长内所述异常次数是否达到预设阈值,若是则认为主节点存在功能异常。
31.由上述描述可知,从节点在判断主节点返回数据存在异常后,记录异常次数,通过短时间内的异常次数判断主节点是否存在功能异常,避免偶发性的返回数据异常,功能异常的判断更加准确。
32.进一步地,所述根据预设流程自各从节点中选举升级得到新的主节点具体为:
33.计算自身的被调用频率以及剩余资源,获取其他从节点的被调用频率以及剩余资源,通过加权计算确定最优从节点并选举为新的主节点。
34.由上述描述可知,根据被调用频率以及剩余资源来选择新的主节点,在节点本身的资源状况外,引入了被调用频率作为选举的考量因素,通过加权计算的方式,尽可能选取剩余资源多且被调用频率低的从节点作为主节点,能够降从节点升级带来的影响。
35.进一步地,所述剩余资源包括内存资源、cpu资源以及网络io资源。
36.由上述描述可知,考虑的从节点资源包括内存资源、cpu资源以及网络io资源,考量更加全面。
37.请参照图2,一种服务集群的状态调整系统,包括主节点以及至少一个的从节点,主节点包括第一处理器、第一存储器以及存储在所述第一存储器中并可在所述第一处理器上运行的第一计算机程序,从节点包括第二处理器、第二存储器以及存储在所述第二存储器中并可在第二处理器上运行的第二计算机程序,所述第二处理器执行所述第二计算机程序时实现以下步骤:
38.s1、根据第一预设周期向主节点的预设查询功能接口发送查询请求,并接收主节点的返回数据;
39.s2、根据主节点的返回数据判断主节点是否存在功能异常,若主节点存在功能异常,则根据预设流程自各从节点中选举升级得到新的主节点,将原来的主节点降级为从节点,并发出告警信息。
40.从上述描述可知,本发明的有益效果在于:本发明的一种服务集群的状态调整方法与系统,在分布式部署的集群中,由从节点定期向主节点提供的查询功能接口发送查询请求,以根据返回情况确认主节点是否可用,在主节点不可用时能够及时自从节点中选取出新的主节点,解决了现有技术中存在主节点能够正常发送心跳包,但是对外业务不可用,即处于将死状态,程序将无法及时发现的问题。
41.进一步地,所述第一处理器执行所述第一计算机程序时步骤s1还包括步骤:
42.s11、根据第一预设周期向各个从节点发送心跳包,并接收从节点返回的心跳信息;
43.步骤s2还包括步骤:
44.s21、根据所述心跳信息确定从节点是否存在异常,若从节点存在异常,则发出告警。
45.由上述描述可知,主节点仍然通过心跳包的方式,确认从节点的状态,在从节点异常时能够及时告警。
46.进一步地,根据主节点的返回数据判断主节点是否存在功能异常具体为:
47.根据所述主节点的返回数据,判断是否存在异常,若存在异常,则记录异常次数;
48.判断预设时长内所述异常次数是否达到预设阈值,若是则认为主节点存在功能异常。
49.由上述描述可知,从节点在判断主节点返回数据存在异常后,记录异常次数,通过短时间内的异常次数判断主节点是否存在功能异常,避免偶发性的返回数据异常,功能异常的判断更加准确。
50.进一步地,所述根据预设流程自各从节点中选举升级得到新的主节点具体为:
51.计算自身的被调用频率以及剩余资源,获取其他从节点的被调用频率以及剩余资源,通过加权计算确定最优从节点并选举为新的主节点。
52.由上述描述可知,根据被调用频率以及剩余资源来选择新的主节点,在节点本身的资源状况外,引入了被调用频率作为选举的考量因素,通过加权计算的方式,尽可能选取剩余资源多且被调用频率低的从节点作为主节点,能够降从节点升级带来的影响。
53.进一步地,所述剩余资源包括内存资源、cpu资源以及网络io资源。
54.由上述描述可知,考虑的从节点资源包括内存资源、cpu资源以及网络io资源,考量更加全面。
55.本发明的一种服务集群的状态调整方法与系统,适用于分布式部署的服务集群的异常监控。
56.请参照图1,本发明的实施例一为:
57.一种服务集群的状态调整方法,包括步骤:
58.s1、各个从节点根据第一预设周期向主节点的预设查询功能接口发送查询请求,并接收主节点的返回数据;
59.步骤s1还包括步骤:
60.s11、主节点根据第一预设周期向各个从节点发送心跳包,并接收从节点返回的心跳信息。
61.本实施例中,以一主多从的数据库集群为例。主节点会定期的向各个从节点发送心跳包,根据每次的心跳返回信息来确定各个从节点是否存活。
62.此外,主节点提供一个最小业务的查询功能接口,供外部调用。当集群启动后,各个从节点也将会定期的向主节点发送查询心跳(即向主节点的预设查询功能接口,即最小业务的查询功能接口发送查询请求),确保主节点业务功能是否正常。
63.s2、根据主节点的返回数据判断主节点是否存在功能异常,若主节点存在功能异常,则根据预设流程自各从节点中选举升级得到新的主节点,将原来的主节点降级为从节点,并发出告警信息;
64.步骤s2还包括步骤:
65.s21、主节点根据所述心跳信息确定从节点是否存在异常,若从节点存在异常,则发出告警;
66.根据主节点的返回数据判断主节点是否存在功能异常具体为:
67.各从节点分别根据所述主节点的返回数据,判断是否存在异常,若存在异常,则记录异常次数;
68.判断预设时长内所述异常次数是否达到预设阈值,若是则认为主节点存在功能异常。
69.本实施例中,从节点在未收到主节点的返回数据或主节点的返回数据有误时,认为主节点存在异常。当主节点存在异常时,各个从节点将会记录异常次数,当达到预设的阈
值时,将明确该主节点对外服务不可用,即主节点存在功能异常。
70.此时,各个从节点将自发的讨论,再次进行选举,选择新的主节点。各个从节点根据预设的权重以及选举策略等方式,各从节点在通讯后确定一个从节点进行升级主节点操作。当升级完毕后,同步通知其他的从节点以及故障的主节点。此时,其他的从节点将重新更新主节点信息,并再次进行新主节点的验证工作。故障主节点将降级为从节点,同时,将发出告警信息,由运维人员跟进故障问题。
71.通过此种双向心跳的方式,由集群内部进行相关的业务监控,减少了外部系统监控的功能,所有的业务处理以及监控信息将由自身集群独立完成,减少了外部依赖的同时,还可以提供自身系统的可用性功能。
72.本发明的实施例二为:
73.一种服务集群的状态调整方法,与实施例一的区别在于,所述根据预设流程自各从节点中选举升级得到新的主节点具体为:
74.计算自身的被调用频率以及剩余资源,获取其他从节点的被调用频率以及剩余资源,通过加权计算确定最优从节点并选举为新的主节点;
75.所述剩余资源包括内存资源、cpu资源以及网络io资源。
76.本实施例中,基于从节点的被调用频率以及剩余资源考虑。以被调用频率小、剩余资源充足,比如内存,cpu百分比等资源充足,网路io等使用较低为优进行加权计算,组合考虑,进而选择条件最优的从节点进行升级。
77.请参照图2,本发明的实施例三为:
78.一种服务集群的状态调整系统1,包括主节点2以及至少一个的从节点5,主节点2包括第一处理器3、第一存储器4以及存储在所述第一存储器4中并可在所述第一处理器3上运行的第一计算机程序,从节点5包括第二处理器6、第二存储器7以及存储在所述第二存储器7中并可在第二处理器6上运行的第二计算机程序,所述第一处理器3执行所述第一计算机程序时,以及所述第二处理器6执行所述第二计算机程序时实现以下上实施例一或二的一种服务集群的状态调整方法中的步骤。
79.综上所述,本发明提供的一种服务集群的状态调整方法与系统,在分布式部署的集群中,由从节点定期向主节点提供的查询功能接口发送查询请求,以根据返回情况确认主节点是否可用,在主节点不可用时能够及时自从节点中选取出新的主节点,解决了现有技术中存在主节点能够正常发送心跳包,但是对外业务不可用,即处于将死状态,程序将无法及时发现的问题。
80.本发明新增了一种双向心跳的功能,在旧有集群的心跳基础之上,由从节点向主节点某项业务功能进行心跳检测,当从节点发现主节点返回心跳结果不符合预期时,由此集群内部的其他从节点进行一定的选举处理,对满足符合条件的从节点进行升级处理,由从节点升级为主节点,并进行对外以及对内的双向通知,最终,旧有故障主节点将会降级为从节点,或者被排除服务列表之外。通过这种双向心跳的功能,能够在一个集群之内,当主节点处于将死状态时,自主自动的实现主节点迁移,并重新对外提供服务,提高系统的可用性功能。
81.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括
在本发明的专利保护范围内。
技术特征:
1.一种服务集群的状态调整方法,其特征在于,包括步骤:s1、各个从节点根据第一预设周期向主节点的预设查询功能接口发送查询请求,并接收主节点的返回数据;s2、根据主节点的返回数据判断主节点是否存在功能异常,若主节点存在功能异常,则根据预设流程自各从节点中选举升级得到新的主节点,将原来的主节点降级为从节点,并发出告警信息。2.根据权利要求1所述的一种服务集群的状态调整方法,其特征在于,步骤s1还包括步骤:s11、主节点根据第一预设周期向各个从节点发送心跳包,并接收从节点返回的心跳信息;步骤s2还包括步骤:s21、主节点根据所述心跳信息确定从节点是否存在异常,若从节点存在异常,则发出告警。3.根据权利要求1所述的一种服务集群的状态调整方法,其特征在于,根据主节点的返回数据判断主节点是否存在功能异常具体为:各从节点分别根据所述主节点的返回数据,判断是否存在异常,若存在异常,则记录异常次数;判断预设时长内所述异常次数是否达到预设阈值,若是则认为主节点存在功能异常。4.根据权利要求1所述的一种服务集群的状态调整方法,其特征在于,所述根据预设流程自各从节点中选举升级得到新的主节点具体为:计算自身的被调用频率以及剩余资源,获取其他从节点的被调用频率以及剩余资源,通过加权计算确定最优从节点并选举为新的主节点。5.根据权利要求4所述的一种服务集群的状态调整方法,其特征在于,所述剩余资源包括内存资源、cpu资源以及网络io资源。6.一种服务集群的状态调整系统,包括主节点以及至少一个的从节点,主节点包括第一处理器、第一存储器以及存储在所述第一存储器中并可在所述第一处理器上运行的第一计算机程序,从节点包括第二处理器、第二存储器以及存储在所述第二存储器中并可在第二处理器上运行的第二计算机程序,其特征在于,所述第二处理器执行所述第二计算机程序时实现以下步骤:s1、根据第一预设周期向主节点的预设查询功能接口发送查询请求,并接收主节点的返回数据;s2、根据主节点的返回数据判断主节点是否存在功能异常,若主节点存在功能异常,则根据预设流程自各从节点中选举升级得到新的主节点,将原来的主节点降级为从节点,并发出告警信息。7.根据权利要求6所述的一种服务集群的状态调整系统,其特征在于,所述第一处理器执行所述第一计算机程序时步骤s1还包括步骤:s11、根据第一预设周期向各个从节点发送心跳包,并接收从节点返回的心跳信息;步骤s2还包括步骤:s21、根据所述心跳信息确定从节点是否存在异常,若从节点存在异常,则发出告警。
8.根据权利要求6所述的一种服务集群的状态调整系统,其特征在于,根据主节点的返回数据判断主节点是否存在功能异常具体为:根据所述主节点的返回数据,判断是否存在异常,若存在异常,则记录异常次数;判断预设时长内所述异常次数是否达到预设阈值,若是则认为主节点存在功能异常。9.根据权利要求6所述的一种服务集群的状态调整系统,其特征在于,所述根据预设流程自各从节点中选举升级得到新的主节点具体为:计算自身的被调用频率以及剩余资源,获取其他从节点的被调用频率以及剩余资源,通过加权计算确定最优从节点并选举为新的主节点。10.根据权利要求9所述的一种服务集群的状态调整系统,其特征在于,所述剩余资源包括内存资源、cpu资源以及网络io资源。
技术总结
本发明公开了一种服务集群的状态调整方法,各个从节点根据第一预设周期向主节点的预设查询功能接口发送查询请求,并接收主节点的返回数据;根据主节点的返回数据判断主节点是否存在功能异常,若主节点存在功能异常,则根据预设流程自各从节点中选举升级得到新的主节点,将原来的主节点降级为从节点,并发出告警信息;本发明由从节点定期向主节点提供的查询功能接口发送查询请求,以根据返回情况确认主节点是否可用,在主节点不可用时能够及时自从节点中选取出新的主节点,解决了现有技术中存在主节点能够正常发送心跳包,但是对外业务不可用,即处于将死状态,程序将无法及时发现的问题。的问题。的问题。
技术研发人员:刘德建 郭孟祺 陈娟 郭凤英 郑坦 陈宏
受保护的技术使用者:福建天泉教育科技有限公司
技术研发日:2023.07.19
技术公布日:2023/9/9
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/