System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及分布式服务,尤其涉及一种基于异地多活卡夫卡集群的业务处理系统及方法。
技术介绍
1、目前,在进行后台服务部署时,idc(互联网数据中心)机房会采用异地多活架构,以提供跨区域的容灾能力,如两地三中心模式和三地五中心模式。以两地三中心模式为例,idc机房分别坐落在a跟b两地,两地时延在几十毫秒级别,而且跨区域的网络传输经常会有波动,如果两个机房只部署一个跨异地机房的卡夫卡集群会造成严重的性能问题,因此一般是在两地分别部署一套卡夫卡集群实现异地多活。在使用卡夫卡集群处理业务时,两地机房会把业务消息发送至本机房内的卡夫卡集群,并通过本机房的业务消费节点处理本机房卡夫卡集群的消息。
2、但是,相关的卡夫卡集群部署模式在本地机房出现故障或机房内业务消费节点异常的时候,本机房的卡夫卡集群可能会积压大量未消费的业务消息,这些消息需要等到机房或者业务消费节点恢复之后才能完成处理,以此会影响系统的业务处理效率,导致数据服务效果偏差。
技术实现思路
1、本申请实施例提供一种基于异地多活卡夫卡集群的业务处理系统及方法,能够针对业务消费异常进行平滑容灾处理,提升系统的可用性和可靠性,解决业务消费异常情况下导致业务消息累积延迟处理的技术问题。
2、在第一方面,本申请实施例提供了一种基于异地多活卡夫卡集群的业务处理系统,包括:设置于第一机房的卡夫卡主集群和第一业务消费节点,设置于第二机房的卡夫卡从集群和第二业务消费节点;
3、卡夫卡主集群和卡夫卡从集群用于写入
4、第一业务消费节点用于在检测到第一机房未开启消费业务实例的情况下,启动消费业务实例处理卡夫卡主集群和卡夫卡从集群的业务消息;
5、第二业务消费节点用于在未检测到处理卡夫卡主集群和卡夫卡从集群的消费业务实例的情况下,基于第二机房开启的消费业务实例处理卡夫卡主集群和卡夫卡从集群的业务消息,并在检测到第一业务消费节点启动消费业务实例的情况下,停止处理卡夫卡主集群和卡夫卡从集群的业务消息。
6、在第二方面,本申请实施例提供了一种基于异地多活卡夫卡集群的业务处理方法,应用于如第一方面的基于异地多活卡夫卡集群的业务处理系统,包括:
7、卡夫卡主集群和卡夫卡从集群写入第一机房生产的业务消息;
8、第一业务消费节点在检测到第一机房未开启消费业务实例的情况下,启动消费业务实例处理卡夫卡主集群和卡夫卡从集群的业务消息;
9、第二业务消费节点在未检测到处理卡夫卡主集群和卡夫卡从集群的消费业务实例的情况下,基于第二机房开启的消费业务实例处理卡夫卡主集群和卡夫卡从集群的业务消息,并在检测到第一业务消费节点启动消费业务实例的情况下,停止处理卡夫卡主集群和卡夫卡从集群的业务消息。
10、在第三方面,本申请实施例提供了一种基于异地多活卡夫卡集群的业务处理方法,应用于如第一方面的基于异地多活卡夫卡集群的业务处理系统的第一业务消费节点,包括:
11、在检测到第一机房未开启消费业务实例的情况下,启动消费业务实例处理卡夫卡主集群和卡夫卡从集群的业务消息;
12、在检测到第二机房不存在对应的消费业务实例的情况下,基于当前开启的消费业务实例处理第二机房生产的业务消息,并在检测到第二业务消费节点启动消费业务实例的情况下,停止处理第二机房生产的业务消息。
13、本申请实施例通过卡夫卡主集群和卡夫卡从集群写入第一机房生产的业务消息;第一业务消费节点在检测到第一机房未开启消费业务实例的情况下,启动消费业务实例处理卡夫卡主集群和卡夫卡从集群的业务消息;第二业务消费节点在未检测到处理卡夫卡主集群和卡夫卡从集群的消费业务实例的情况下,基于第二机房开启的消费业务实例处理卡夫卡主集群和卡夫卡从集群的业务消息,并在检测到第一业务消费节点启动消费业务实例的情况下,停止处理卡夫卡主集群和卡夫卡从集群的业务消息。采用上述技术手段,通过卡夫卡集群异地部署,优先选择卡夫卡主集群的本地机房业务消费节点就近消费业务消息,并在本地机房出现业务消费异常时,通过切换异地机房的业务消费节点处理卡夫卡集群的业务消息,以此来保障业务消费异常的平滑容灾处理,避免因业务消费异常导致卡夫卡集群累积过多业务消息的情况,提升业务处理系统的可用性和可靠性。
本文档来自技高网...【技术保护点】
1.一种基于异地多活卡夫卡集群的业务处理系统,其特征在于,包括:设置于第一机房的卡夫卡主集群和第一业务消费节点,设置于第二机房的卡夫卡从集群和第二业务消费节点;
2.根据权利要求1所述的基于异地多活卡夫卡集群的业务处理系统,其特征在于,在启动消费业务实例处理所述卡夫卡主集群和所述卡夫卡从集群的业务消息时,所述第一业务消费节点具体用于:
3.根据权利要求2所述的基于异地多活卡夫卡集群的业务处理系统,其特征在于,在检测到所述卡夫卡主集群下线时,所述第一业务消费节点具体用于:
4.根据权利要求1所述的基于异地多活卡夫卡集群的业务处理系统,其特征在于,所述第一机房包括业务生产节点;
5.根据权利要求4所述的基于异地多活卡夫卡集群的业务处理系统,其特征在于,所述卡夫卡主集群和所述卡夫卡从集群用于写入所述第一机房生产的业务消息,还包括:
6.一种基于异地多活卡夫卡集群的业务处理方法,应用于如权利要求1-5任一所述的基于异地多活卡夫卡集群的业务处理系统,其特征在于,包括:
7.根据权利要求6所述的基于异地多活卡夫卡集群的业
8.根据权利要求7所述的基于异地多活卡夫卡集群的业务处理方法,其特征在于,所述检测到所述卡夫卡主集群下线,包括:
9.根据权利要求6所述的基于异地多活卡夫卡集群的业务处理方法,其特征在于,所述第一机房包括业务生产节点;
10.根据权利要求9所述的基于异地多活卡夫卡集群的业务处理方法,其特征在于,所述卡夫卡主集群和卡夫卡从集群写入第一机房生产的业务消息,还包括:
11.一种基于异地多活卡夫卡集群的业务处理方法,应用于如权利要求1-5任一所述的基于异地多活卡夫卡集群的业务处理系统的第一业务消费节点,其特征在于,包括:
...【技术特征摘要】
1.一种基于异地多活卡夫卡集群的业务处理系统,其特征在于,包括:设置于第一机房的卡夫卡主集群和第一业务消费节点,设置于第二机房的卡夫卡从集群和第二业务消费节点;
2.根据权利要求1所述的基于异地多活卡夫卡集群的业务处理系统,其特征在于,在启动消费业务实例处理所述卡夫卡主集群和所述卡夫卡从集群的业务消息时,所述第一业务消费节点具体用于:
3.根据权利要求2所述的基于异地多活卡夫卡集群的业务处理系统,其特征在于,在检测到所述卡夫卡主集群下线时,所述第一业务消费节点具体用于:
4.根据权利要求1所述的基于异地多活卡夫卡集群的业务处理系统,其特征在于,所述第一机房包括业务生产节点;
5.根据权利要求4所述的基于异地多活卡夫卡集群的业务处理系统,其特征在于,所述卡夫卡主集群和所述卡夫卡从集群用于写入所述第一机房生产的业务消息,还包括:
6.一种基于异地多活卡夫卡集群的业务...
【专利技术属性】
技术研发人员:钟伟林,
申请(专利权)人:广州市网星信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。