[发明专利]一种异地多活的分布式消息消费方法及装置有效
申请号: | 201711350825.6 | 申请日: | 2017-12-15 |
公开(公告)号: | CN108170527B | 公开(公告)日: | 2021-06-22 |
发明(设计)人: | 冯浩 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;H04L12/58;H04L29/08 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明实施例提供了一种异地多活的分布式消息的消费方法及装置,所述方法包括:监测服务端的至少两个业务集群是否可用;如果监测到所述至少两个业务集群均可用,则选择所述至少两个业务集群中的任一个业务集群作为主业务集群;连接选择的所述主业务集群进行消费。本发明实施例中,通过监测服务器端所有业务集群的可用性,并从可用的业务集群中选择一个主业务集群,然后与该主业务集群建立连接并开始消费。也就是说,本实施例中,由消费端从可用的业务集群中选择主业务集群,从而提高了业务集群的高可用性,而且在消费端切换到新的业务集群后,按照重新设置的消费进度开始消费,大幅度减少消息的重复消费。 | ||
搜索关键词: | 一种 异地 分布式 消息 消费 方法 装置 | ||
消费端监测服务端中至少两个业务集群是否可用;
如果所述消费端监测到所述至少两个业务集群均可用,则选择所述至少两个业务集群中的一个业务集群作为主业务集群;
所述消费端连接选择的所述主业务集群进行消费。
2.根据权利要求1所述的方法,其特征在于,所述选择所述至少两个业务集群中的任一业务集群作为主业务集群的方式为:所述消费端选择至少两个业务集群中优先级高的一个业务集群作为消费的主业务集群。
3.根据权利要求1或2所述的方法,其特征在于,还包括:在开始消费后,所述消费端继续监测所述主业务集群是否可用;
在所述消费端监测到所述主业务集群不可用时,从所述至少两个业务集群中重新选择次优先级高的一个业务集群作为消费的主业务集群;
所述消费端连接重新选择的所述主业务集群进行消费。
4.根据权利要求3所述的方法,其特征在于,还包括:在所述消费端连接到重新选择的所述主业务集群进行消费前,计算消费端初始化的消费起点偏移值;
所述消费端根据所述消费起点偏移值重新设置所述消费端的消费进度;
所述消费端按照重新设置的消费进度连接到重新选择的所述主业务集群进行消费。
5.根据权利要求4所述的方法,其特征在于,按照下述公式计算消费起点偏移值:offsetA=offsetB‑Lag‑调整因子offsetA≤0,
其中,所述offsetA为业务集群A上一个主题topic消息的消费起点偏移值;
所述offsetB为业务集群B上所述topic目前的消费偏移值;
所述Lag为业务集群B上所述topic消息消费的滞后值;
所述调整因子为调整常量。
6.一种异地多活的分布式消息的消费装置,其特征在于,包括:监测模块,用于监测服务端中至少两个业务集群是否可用;
第一选择模块,用于在所述监测模块监测到所述至少两个业务集群均可用时,选择所述至少两个业务集群中的任一个业务集群作为主业务集群;
第一消费模块,用于连接所述第一选择模块选择的所述主业务集群进行消费。
7.根据权利要求6所述的装置,其特征在于,所述第一选择模块,具体用于在所述监测模块监测到所述至少两个业务集群均可用时,选择至少两个业务集群中优先级高的一个业务集群作为消费的主业务集群。
8.根据权利要求6或7所述的装置,其特征在于,还包括:第三选择模块和第三消费模块,其中,所述监测模块,还用于在开始消费后,继续监测所述主业务集群是否可用;
所述第三选择模块,用于在所述监测模块监测到所述主业务集群不可用时,从所述至少两个业务集群中重新选择次优先级高的一个业务集群作为消费的主业务集群;
所述第三消费模块,用于连接所述第三选择模块重新选择的所述主业务集群进行消费。
9.根据权利要求8所述的装置,其特征在于,还包括:计算模块,用于在第三消费模块进行消费前,计算消费端初始化的消费起点偏移值;
设置模块,用于根据所述消费起点偏移值重新设置所述消费端的消费进度;
所述第三消费模块,还用于按照重新设置的消费进度连接到重新选择的所述主业务集群进行消费。
10.根据权利要求9所述的装置,其特征在于,所述计算模块按照下述公式计算消费起点偏移值:offsetA=offsetB‑Lag‑调整因子offsetA≤0,
其中,所述offsetA为业务集群A上一个主题topic消息的消费起点偏移值;
所述offsetB为业务集群B上所述topic目前的消费偏移值;
所述Lag为业务集群B上所述topic消息消费的滞后值;
所述调整因子为调整常量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711350825.6/,转载请声明来源钻瓜专利网。