[发明专利]一种异地多活的分布式消息的管理、消费方法及装置有效
| 申请号: | 201711350875.4 | 申请日: | 2017-12-15 |
| 公开(公告)号: | CN108199912B | 公开(公告)日: | 2020-09-22 |
| 发明(设计)人: | 冯浩 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
| 主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/08;H04L12/24 |
| 代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 异地 分布式 消息 管理 消费 方法 装置 | ||
1.一种异地多活的分布式消息的管理方法,其特征在于,包括:
健康检查中心检查服务端的每个业务集群是否可用;
如果所述健康检查中心检查到至少两个业务集群均可用,则为可用的所述至少两个业务集群标记集群优先级,以使消费端从所述至少两个业务集群中,确定所述集群优先级高的一个主业务集群进行连接。
2.根据权利要求1所述的方法,其特征在于,所述为可用的所述至少两个业务集群标记优先级具体包括:
所述健康检查中心按照预定规则标记可用的所述至少两个业务集群的集群优先级。
3.根据权利要求1或2所述的方法,其特征在于,所述健康检查中心检查服务端的每个业务集群是否可用,具体包括:
所述健康检查中心通过心脏跳动heart beat检查每个业务集群是否可用。
4.根据权利要求1或2所述的方法,其特征在于,还包括:
所述健康检查中心获取每个业务集群记录的每个消费端的消费起点偏移值;
所述健康检查中心根据所述消费起点偏移值设置每个消费终端的消费进度;
所述健康检查中心将所述消费进度同步给其余业务集群指定的zookeeper中。
5.一种异地多活的分布式消息的消费方法,其特征在于,包括:
消费端监测服务端的至少两个业务集群是否可用;
如果所述消费端监测到所述至少两个业务集群均可用,则从健康检查中心获取可用的至少两个业务集群的集群优先级;
所述消费端选择集群优选级高的业务集群作为主业务集群;
所述消费端连接选择的所述主业务集群进行消费,所述消费端在消费过程中连接一个所述主业务集群。
6.根据权利要求5所述的方法,其特征在于,还包括:
在开始消费后,所述消费端继续监测所述主业务集群是否可用;
在所述消费端监测到所述主业务集群不可用时,从获取的所述集群优先级中重新选择次集群优先级高的一个业务集群作为消费的主业务集群;
连接重新选择的所述主业务集群进行消费。
7.根据权利要求6所述的方法,其特征在于,还包括:
在连接重新选择的所述主业务集群进行消费前,计算消费端的消费起点偏移值;
根据所述消费起点偏移值重新设置所述消费端的消费进度;
按照重新设置的消费进度连接到重新选择的所述主业务集群进行消费。
8.根据权利要求7所述的方法,其特征在于,按照下述公式计算消费起点偏移值:
offset A=offset B-Lag-调整因子,offset A≤0,
其中,所述offsetA为业务集群A上一个主题topic消息的消费起点偏移值;
所述offsetB为业务集群B上所述topic目前的消费偏移值;
所述Lag为业务集群B上所述topic消息消费的滞后值;
所述调整因子为调整常量。
9.一种异地多活的分布式消息的管理装置,其特征在于,包括:
检查模块,用于检查服务端的至少两个业务集群的是否可用;
第一标记模块,用于所述检查模块检查到至少两个业务集群均可用,则为可用的所述至少两个业务集群标记集群优先级,以使消费端从所述至少两个业务集群中,确定所述集群优先级高的一个主业务集群进行连接。
10.根据权利要求9所述的装置,其特征在于,
所述第一标记模块,具体用于在所述检查模块检查到至少两个业务集群均可用时,按照预定规则标记可用的所述至少两个业务集群的集群优先级。
11.根据权利要求9或10所述的装置,其特征在于,
所述检查模块,具体用于通过心脏跳动heart beat检查每个业务集群是否可用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711350875.4/1.html,转载请声明来源钻瓜专利网。





