一种分布式消息队列的存储方法、装置、设备及可读介质制造方法及图纸

技术编号:30155662 阅读:28 留言:0更新日期:2021-09-25 15:06
本发明专利技术公开了一种分布式消息队列的存储方法,包括在分布式消息队列中任意一个节点执行以下步骤:响应于接收到消息处理请求,获取消息处理请求的主题,并判断本节点是否为主题的主节点;若是本节点为主题的主节点,将消息处理请求加入优先队列;对优先队列中的消息处理请求进行处理,并向主题的其他主节点发送请求处理响应;以及响应于接收到所有其他主节点返回的请求处理完成标识,向主题的从节点发送数据同步请求。本发明专利技术还公开了一种分布式消息队列的存储装置、计算机设备和可读存储介质。本发明专利技术通过分布式消息队列节点内部建立交互机制,降低集群的运维成本、人力成本、管理成本,保障业务的稳定运行。保障业务的稳定运行。保障业务的稳定运行。

【技术实现步骤摘要】
一种分布式消息队列的存储方法、装置、设备及可读介质


[0001]本专利技术涉及存储
,尤其涉及一种分布式消息队列的存储方法、装置、设备及可读介质。

技术介绍

[0002]作为大数据生态中重要的信息订阅发布服务组件,Kafka组件通常承担着大量的数据流任务,其自身稳定性对于业务的稳定运行至关重要。
[0003]Kafka服务引入一致性服务Zookeeper组件作为其Topic元数据存储后端,但多个服务的叠加会导致业务集群不稳定性增加,Kafka与Zookeeper通过RPC(Remote Procedure Call,远程过程调用)进行Topic元数据交换,随之带来的是网络的不稳定性,由于Kafka服务对网络带宽占用极高,在某些情况下可达到计算网卡带宽的物理上限,从而导致交互响应不及时,此外Zookeeper服务自身的不稳定性也会导致Kafka集群不稳定,交互超时导致Kafka相关请求失败甚至导致Kafka各节点内对于Topic元数据的处理出现一致性问题进而影响业务正常进行。
[0004]综上所述,网络问题、交互问题、一致性问题均对实际Topic处理存在影响,导致运维成本、人力成本、时间成本的消耗。

技术实现思路

[0005]有鉴于此,本专利技术实施例的目的在于提出一种分布式消息队列的存储方法、装置、设备及可读介质,通过分布式消息队列节点内部建立交互机制,解决主题下的网络分区、请求交互和元信息一致性问题,无需调用分布式系统协调内核,降低集群的运维成本、人力成本、管理成本,保障业务的稳定运行。
[0006]基于上述目的,本专利技术实施例的一方面提供了一种分布式消息队列的存储方法,包括在分布式消息队列中任意一个节点执行以下步骤:响应于接收到消息处理请求,获取所述消息处理请求的主题,并判断本节点是否为所述主题的主节点;若是本节点为所述主题的主节点,将所述消息处理请求加入优先队列;对所述优先队列中的所述消息处理请求进行处理,并向所述主题的其他主节点发送请求处理响应;以及响应于接收到所有所述其他主节点返回的请求处理完成标识,向所述主题的从节点发送数据同步请求。
[0007]在一些实施方式中,获取所述消息处理请求的主题,并判断本节点是否为所述主题的主节点包括:获取所述消息处理请求的主题,并判断本节点是否为所述主题的节点;若是本节点为所述主题的节点,进一步判断所述本节点是否为所述主题的主节点。
[0008]在一些实施方式中,还包括:若是本节点不为所述主题的节点,获取所述主题的主节点列表,并基于所述主节点列表将所述消息处理请求转发给对应的主节点。
[0009]在一些实施方式中,还包括:若是本节点不为所述主题的主节点,将所述消息处理请求加入次要队列;响应于对所述本节点的优先队列中其他主题对应的消息请求处理完成,对所述次要队列中的所述消息处理请求进行处理。
[0010]在一些实施方式中,对所述优先队列中的所述消息处理请求进行处理,并向所述主题的其他主节点发送请求处理响应包括:对所述优先队列中的所述消息处理请求进行处理,并判断是否接收到所述主题的其他主节点发送的请求处理响应;若是未接收到所述主题的其他主节点发送的请求处理响应,向所述主题的其他主节点发送请求处理响应。
[0011]在一些实施方式中,还包括:若是接收到所述主题的其他节点发送的请求处理响应,反馈请求处理完成标识。
[0012]在一些实施方式中,还包括:响应于预设时间内未接收到所有所述其他主节点返回的请求处理完成标识,则认为所述主节点处理失败,并发送告警。
[0013]本专利技术实施例的另一方面,还提供了一种分布式消息队列的存储装置,包括:第一模块,配置用于响应于接收到消息处理请求,获取所述消息处理请求的主题,并判断本节点是否为所述主题的主节点;第二模块,配置用于若是本节点为所述主题的主节点,将所述消息处理请求加入优先队列;第三模块,配置用于对所述优先队列中的所述消息处理请求进行处理,并向所述主题的其他主节点发送请求处理响应;以及第四模块,配置用于响应于接收到所有所述其他主节点返回的请求处理完成标识,向所述主题的从节点发送数据同步请求。
[0014]本专利技术实施例的再一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现方法的步骤包括:在分布式消息队列中任意一个节点执行以下步骤:响应于接收到消息处理请求,获取所述消息处理请求的主题,并判断本节点是否为所述主题的主节点;若是本节点为所述主题的主节点,将所述消息处理请求加入优先队列;对所述优先队列中的所述消息处理请求进行处理,并向所述主题的其他主节点发送请求处理响应;以及响应于接收到所有所述其他主节点返回的请求处理完成标识,向所述主题的从节点发送数据同步请求。
[0015]在一些实施方式中,获取所述消息处理请求的主题,并判断本节点是否为所述主题的主节点包括:获取所述消息处理请求的主题,并判断本节点是否为所述主题的节点;若是本节点为所述主题的节点,进一步判断所述本节点是否为所述主题的主节点。
[0016]在一些实施方式中,还包括:若是本节点不为所述主题的节点,获取所述主题的主节点列表,并基于所述主节点列表将所述消息处理请求转发给对应的主节点。
[0017]在一些实施方式中,还包括:若是本节点不为所述主题的主节点,将所述消息处理请求加入次要队列;响应于对所述本节点的优先队列中其他主题对应的消息请求处理完成,对所述次要队列中的所述消息处理请求进行处理。
[0018]在一些实施方式中,对所述优先队列中的所述消息处理请求进行处理,并向所述主题的其他主节点发送请求处理响应包括:对所述优先队列中的所述消息处理请求进行处理,并判断是否接收到所述主题的其他主节点发送的请求处理响应;若是未接收到所述主题的其他主节点发送的请求处理响应,向所述主题的其他主节点发送请求处理响应。
[0019]在一些实施方式中,还包括:若是接收到所述主题的其他节点发送的请求处理响应,反馈请求处理完成标识。
[0020]在一些实施方式中,还包括:响应于预设时间内未接收到所有所述其他主节点返回的请求处理完成标识,则认为所述主节点处理失败,并发送告警。
[0021]本专利技术实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储
介质存储有被处理器执行时实现如上方法步骤的计算机程序。
[0022]本专利技术具有以下有益技术效果:通过分布式消息队列节点内部建立交互机制,解决主题下的网络分区、请求交互和元信息一致性问题,无需调用分布式系统协调内核,降低集群的运维成本、人力成本、管理成本,保障业务的稳定运行。
附图说明
[0023]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式消息队列的存储方法,其特征在于,包括在分布式消息队列中任意一个节点执行以下步骤:响应于接收到消息处理请求,获取所述消息处理请求的主题,并判断本节点是否为所述主题的主节点;若是本节点为所述主题的主节点,将所述消息处理请求加入优先队列;对所述优先队列中的所述消息处理请求进行处理,并向所述主题的其他主节点发送请求处理响应;以及响应于接收到所有所述其他主节点返回的请求处理完成标识,向所述主题的从节点发送数据同步请求。2.根据权利要求1所述的分布式消息队列的存储方法,其特征在于,获取所述消息处理请求的主题,并判断本节点是否为所述主题的主节点包括:获取所述消息处理请求的主题,并判断本节点是否为所述主题的节点;若是本节点为所述主题的节点,进一步判断所述本节点是否为所述主题的主节点。3.根据权利要求2所述的分布式消息队列的存储方法,其特征在于,还包括:若是本节点不为所述主题的节点,获取所述主题的主节点列表,并基于所述主节点列表将所述消息处理请求转发给对应的主节点。4.根据权利要求2所述的分布式消息队列的存储方法,其特征在于,还包括:若是本节点不为所述主题的主节点,将所述消息处理请求加入次要队列;响应于对所述本节点的优先队列中其他主题对应的消息请求处理完成,对所述次要队列中的所述消息处理请求进行处理。5.根据权利要求1所述的分布式消息队列的存储方法,其特征在于,对所述优先队列中的所述消息处理请求进行处理,并向所述主题的其他主节点发送请求处理响应包括:对所述优先队列中的所述消息处理请求进行处理,并判断是否接收...

【专利技术属性】
技术研发人员:孙俊逸
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1