【技术实现步骤摘要】
消息同步方法、装置、存储介质和电子设备
[0001]本专利技术涉及数据同步
,尤其涉及一种消息同步方法、装置、存储介质和电子设备。
技术介绍
[0002]异地灾备是指为防止出现操作失误或系统故障导致本地站点数据丢失,而将全系统或部分数据集合复制到异地站点的过程。目前主流的消息队列(Message Queue,MQ)中间件RocketMQ被广泛应用至各种互联网系统平台,如何基于RocketMQ进行异地灾备是亟待解决的重要课题。
[0003]现有技术中,多基于主备架构进行异地部署,实际上还是同一个MQ集群,在两个地区部署Broker消息服务器,通过本地MQ集群的消息服务器Broker与异地Broker建立连接通道进行消息同步,异地跨网络传输存在延迟,对RocketMQ的性能带来严重影响,使得RocketMQ用户发送消息耗时增加。
技术实现思路
[0004]本专利技术提供一种消息同步方法,用以解决现有技术中异地灾备领域通过本地MQ集群的Broker与异地的Broker建立连接通道进行消息同步,发送消息时因跨地域网络传输存在延迟的性能缺陷,实现消息主题的全量同步且同步后的消息顺序和第一MQ集群中消息顺序一致,并且两个RocketMQ集群完全隔离互不影响,RocketMQ用户发送消息时,消息仅在同地区进行流转,网络延迟小,从而保证了RocketMQ整体性能的同时又保证了消息的冗余能力。
[0005]一方面,本专利技术提供一种消息同步方法,应用于异地灾备系统,异地灾备系统包括第一消息队列MQ ...
【技术保护点】
【技术特征摘要】
1.一种消息同步方法,其特征在于,应用于异地灾备系统,所述异地灾备系统包括第一消息队列MQ集群、处理组件、第二MQ集群,所述方法包括:所述处理组件获取消息同步任务,并获取第一MQ集群中所述消息同步任务对应的至少一个待同步消息;所述处理组件基于消息同步任务,确定所述消息同步任务对应的消息主题的路由信息;所述路由信息包括:所述消息主题与用于存储所述消息主题的消息的至少一个消息服务器的对应关系,以及与所述消息服务器中消息队列的对应关系;所述处理组件基于所述消息主题的路由信息,将各个所述待同步消息同步至第二MQ集群中。2.根据权利要求1所述的消息同步方法,其特征在于,所述待同步消息为普通消息,所述基于所述消息主题的路由信息,将各个所述待同步消息同步至第二MQ集群中,包括:针对任一所述普通消息,基于所述普通消息与消息服务器的对应关系,以及与所述消息服务器中消息队列的对应关系,将所述普通消息同步至与所述普通消息对应的消息服务器的消息队列中。3.根据权利要求2所述的消息同步方法,其特征在于,所述同步消息为死信消息,所述基于所述消息主题的路由信息,将各个所述待同步消息同步至第二MQ集群中之前,还包括:获取所述死信消息在所述第二MQ集群中的操作权限;将所述操作权限修改为读写权限。4.根据权利要求1所述的消息同步方法,其特征在于,在所述待同步消息为重试消息的情况下,所述处理组件基于消息同步任务,确定所述消息同步任务对应的消息主题的路由信息,包括:基于各个所述重试消息的重试次数,得到各个所述重试消息的延迟等级;基于各个所述重试消息的延迟等级和所述消息同步任务,确定所述路由信息;所述方法还包括:将所述各个所述重试消息的延迟等级和所述路由信息发送至第二MQ集群;基于所述消息主题的路由信息,将各个所述待同步消息同步至第二MQ集群中,包括:基于各个所述重试消息的延迟等级和所述路由信息将各个所述重试消息同步至第二MQ集群中。5.根据权利要求4所述的消息同步方法,其特征在于,所述基于各个所述重试消息的延迟等级和所述路由信息,将各个所述重试消息同步至所述第二MQ集群中,包括:针对任一所述重试消息,根据所述重试消息的延迟等级、所述路由信息将所述重试消息放入所述第二MQ集群中与所述重试消息对应的消息服务器的延迟队列中;在达到所述延迟队列对应的延迟时长的情况下,将所述重试消息发送到所述重试消息对应的消息服务器的重试队列中。6.根据权利要求1所述的消息同步方法,其特征在于,在所述待同步消息为延迟消息的情况下,所述基于所述消息主题的路由信息,将各个所述待同步消息同步至第二MQ集群中之前,还包括:基于各个所述延迟消息的存储时间戳以及在所述第一MQ集群的延迟等级,确定各个所述延迟消息的剩余投递时长;
基于各个所述延迟消息的剩余投递时长,确定各个所述延迟消息在所述第二MQ集群的延迟等级;所述基于所述消息主题的路由信息,将各个所述待同步消息同步至第二MQ集群中...
【专利技术属性】
技术研发人员:赵鑫,王想林,郭建军,李超鹏,
申请(专利权)人:北京宝兰德软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。