System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种基于nacos的异地容灾方法、装置、设备及介质。
技术介绍
1、随着容器化、云计算等技术的高速发展,要求系统的具备高可用性,系统故障、网络故障或数据丢失将直接影响数据的及时性和准确性,造成不可估量的损失。
2、现有技术中,通常使用异地容灾的方式保证业务的连续性,在进行异地容灾时,均是在故障发生时通过手工修改异地数据中心连接配置,重新启动应用的方式实现。
3、然而,当容器数量巨大时,手工修改数据中心连接指向会导致应用重新启动,加载最新连接参数,造成业务系统在很长一段时间内无法使用,影响业务系统的恢复时限,因此,无法快速、准确地进行容灾切换,影响了用户感知,无法满足企业的业务需求。
技术实现思路
1、本申请提供一种基于nacos的异地容灾方法、装置、设备及介质,用以解决无法快速、准确地进行容灾切换,影响了用户感知,无法满足企业的业务需求的问题。
2、第一方面,本申请提供一种基于nacos的异地容灾方法,包括:
3、当第一数据中心的第一kafka集群的状态信息为异常状态时,第一nacos server集群将第一kafka集群的异常状态存储至第一数据库,第一kafka集群为正在进行业务处理的集群;
4、第二数据中心从第二数据库中获取第一数据库中的第一kafka集群的异常状态,其中,第二数据库和第一数据库具有数据同步关系;
5、第二数据中心的第二nacos server集群根据第一kafka
6、若第二kafka集群的状态信息为可用状态,则使用第二kafka集群进行业务处理。
7、在本申请实施例中,当第一数据中心的第一kafka集群的状态信息为异常状态时,第一nacos server集群将第一kafka集群的异常状态存储至第一数据库,第一kafka集群为正在进行业务处理的集群,包括:
8、第一数据中心的第一组件侦测模块对第一kafka集群进行健康检测,得到第一健康检测结果;
9、当第一健康检测结果表征检测到第一kafka集群的异常状态时,第一组件侦测模块将第一健康检测结果发送至第一nacos server集群;
10、第一nacos server集群根据第一健康检测结果将第一kafka集群标识为异常状态;
11、第一nacos server集群将第一kafka集群的异常状态发送至第一数据库进行存储。
12、在本申请实施例中,第一数据中心的第一组件侦测模块对第一kafka集群进行健康检测,得到第一健康检测结果,包括:
13、第一组件侦测模块向第一kafka集群发送访问请求;
14、第一组件侦测模块获取第一kafka集群根据访问请求生成的反馈信息;
15、第一组件侦测模块根据反馈信息,对第一kafka集群进行健康检测,得到第一健康检测结果。
16、在本申请实施例中,第一数据中心的第一组件侦测模块对第一kafka集群进行健康检测,得到第一健康检测结果,包括:
17、第一组件侦测模块获取第一kafka集群的日志信息,日志信息至少包括组件日志和应用日志中至少一种日志;
18、第一组件侦测模块根据第一kafka集群的日志信息,对第一kafka集群进行健康检测,得到第一健康检测结果。
19、在本申请实施例中,在第二数据中心从第二数据库中获取第一数据库中的第一kafka集群的异常状态之前,方法还包括:
20、第一数据中心的第一数据库和第二数据中心的第二数据库通过binlog方式进行参数信息和组件状态信息同步。
21、在本申请实施例中,第二数据中心的第二nacos server集群根据第一kafka集群异常状态,获取第二kafka集群的状态信息,包括:
22、第二数据中心的第二组件侦测模块对第二kafka集群进行健康检测,得到第二健康检测结果;
23、根据第二健康检测结果,第二组件侦测模块获取第二kafka集群的状态信息。
24、在本申请实施例中,若第二kafka集群的状态信息为可用状态,则使用第二kafka集群进行业务处理,包括:
25、若第二kafka集群的状态信息为可用状态,则将第二kafka集群作为当前进行业务处理的集群;
26、第二nacos server集群将变更信息发送至消息采集模块;
27、消息采集模块根据变更信息,将消息传输路线从第一kafka集群修改为第二kafka集群。
28、在本申请实施例中,方法还包括:
29、当第一kafka集群由异常状态变为可用状态时,将第二kafka集群由可用状态调整为备用状态,并使用第一kafka集群进行业务处理。
30、在本申请实施例中,方法还包括:
31、当第二kafka集群由可用状态变为异常状态、且第一kafka集群为备用状态时,第二nacos server集群将第二kafka集群的异常状态存储至第二数据库,第二kafka集群为正在进行业务处理的集群;
32、第一数据中心从第一数据库中获取第二数据库中的第二kafka集群的异常状态;
33、第一数据中心的第一nacos server集群根据第二kafka集群异常状态,获取第一kafka集群的状态信息;
34、若第一kafka集群的状态信息为可用状态,则使用第一kafka集群进行业务处理。
35、在本申请实施例中,方法还包括:
36、当第一kafka集群需要进行维护时,将第一kafka集群的状态信息由可用状态调整为下线状态,将第二kafka集群由备用状态调整为使用状态,并使用第二kafka集群进行业务处理。
37、第二方面,本申请提供一种基于nacos的异地容灾装置,包括:
38、存储模块,用于当第一数据中心的第一kafka集群的状态信息为异常状态时,第一nacos server集群将第一kafka集群的异常状态存储至第一数据库,第一kafka集群为正在进行业务处理的集群;
39、第一获取模块,用于第二数据中心从第二数据库中获取第一数据库中的第一kafka集群的异常状态,其中,第二数据库和第一数据库具有数据同步关系;
40、第二获取模块,用于第二数据中心的第二nacos server集群根据第一kafka集群异常状态,获取第二kafka集群的状态信息;
41、业务处理模块,用于若第二kafka集群的状态信息为可用状态,则使用第二kafka集群进行业务处理。
42、第三方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;
43、存储器存储计算机执行指令;
44、处理器执行存储器存储的计算机执行指令,以实现本申本文档来自技高网...
【技术保护点】
1.一种基于Nacos的异地容灾方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述当第一数据中心的第一Kafka集群的状态信息为异常状态时,第一Nacos Server集群将所述第一Kafka集群的异常状态存储至第一数据库,所述第一Kafka集群为正在进行业务处理的集群,包括:
3.根据权利要求2所述的方法,其特征在于,所述第一数据中心的第一组件侦测模块对所述第一Kafka集群进行健康检测,得到第一健康检测结果,包括:
4.根据权利要求2所述的方法,其特征在于,所述第一数据中心的第一组件侦测模块对所述第一Kafka集群进行健康检测,得到第一健康检测结果,包括:
5.根据权利要求1所述的方法,其特征在于,在所述第二数据中心从第二数据库中获取所述第一数据库中的第一Kafka集群的异常状态之前,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述第二数据中心的第二Nacos Server集群根据所述第一Kafka集群异常状态,获取第二Kafka集群的状态信息,包括:
7.根
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
11.一种基于Nacos的异地容灾装置,其特征在于,包括:
12.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至10任一项所述的基于Nacos的异地容灾方法。
...【技术特征摘要】
1.一种基于nacos的异地容灾方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述当第一数据中心的第一kafka集群的状态信息为异常状态时,第一nacos server集群将所述第一kafka集群的异常状态存储至第一数据库,所述第一kafka集群为正在进行业务处理的集群,包括:
3.根据权利要求2所述的方法,其特征在于,所述第一数据中心的第一组件侦测模块对所述第一kafka集群进行健康检测,得到第一健康检测结果,包括:
4.根据权利要求2所述的方法,其特征在于,所述第一数据中心的第一组件侦测模块对所述第一kafka集群进行健康检测,得到第一健康检测结果,包括:
5.根据权利要求1所述的方法,其特征在于,在所述第二数据中心从第二数据库中获取所述第一数据库中的第一kafka集群的异常状态之前,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述第二...
【专利技术属性】
技术研发人员:聂万祥,赵傅艳,颜培鑫,
申请(专利权)人:中国联合网络通信集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。