一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

消息队列集群联邦管理系统以及方法与流程

2022-06-08 13:04:13 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种消息队列集群联邦管理系统以及方法。


背景技术:

2.消息中间件是利用高效可靠的消息传递机制进行异步的数据传输,并基于数据通信进行分布式系统的集成。
3.在大数据场景下,实时数据接入量越来越大,单个消息队列集群(比如kafka集群)已无法满足消息传输需求。为了适应超大数据量,可以通过多个消息队列集群处理消息,利用更多的节点来分担来自网络、磁盘io等方面的压力,然而多个集群之间仍无法统一管理,仍会出现无法应对超大数据量的问题。


技术实现要素:

4.本发明提供了一种消息队列集群联邦管理系统以及方法,能够提供高吞吐量的消息实时传输,为生产者端和消费者端提供可靠的实时通信机制。
5.根据本发明的一方面,提供了一种消息队列集群联邦管理系统,包括:消息总线管理服务、消息处理实例池和至少两个消息中间件集群;
6.所述消息总线管理服务,配置为响应于消息处理端发送的目标消息处理请求,确定与所述目标消息处理请求适配的目标主题topic;以及,从至少两个消息中间件集群中确定所述目标topic对应的分区;所述消息处理端包括生产消息的生产者端和消费消息的消费者端;
7.所述消息总线管理服务,配置为从消息处理实例池中确定目标消息处理实例;
8.所述目标消息处理实例,配置为控制在所述消息处理端与所述目标topic对应的分区之间进行消息处理。
9.根据本发明的另一方面,提供了一种消息队列集群联邦管理方法,包括:
10.响应消息处理端发送的目标消息处理请求,确定与所述目标消息处理请求适配的目标主题topic;以及,从至少两个消息中间件集群中确定所述目标topic对应的分区;所述消息处理端包括生产消息的生产者端和消费消息的消费者端;
11.从消息处理实例池中确定目标消息处理实例;
12.在所述消息处理端与所述目标topic对应的分区之间进行消息处理。
13.本发明实施例的技术方案,通过消息总线管理服务响应消息处理端发送的目标消息处理请求,确定与所述目标消息处理请求适配的目标主题topic;从至少两个消息中间件集群中确定所述目标topic对应的分区;从消息处理实例池中确定目标消息处理实例;目标消息处理实例在所述消息处理端与所述目标topic对应的分区之间进行消息处理。本技术方案通过消息总线管理服务实现多个集群的统一管理,通过消息处理实例池避免消息处理端与中间件集群的直接联系,保护消息处理端的数据隐私;能够提供高吞吐量的消息实时
传输,为生产者端和消费者端提供可靠的实时通信机制。
14.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
15.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1是本发明实施例一提供的一种消息队列集群联邦管理系统的架构图;
17.图2是以kafka为消息中间件作为范例的集群联邦管理系统详细架构图。
18.图3是当前业务场景下处理大数据量并发的方式图。
19.图4是本发明实施例二提供的一种消息队列集群联邦管理方法的流程图。
具体实施方式
20.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
21.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
22.实施例一
23.图1是本发明实施例一提供的一种消息队列集群联邦管理系统的架构图,本实施例可适用于对高吞吐量的消息进行实时传输的情况。如图1所示,该消息队列集群联邦管理系统包括:消息中间件多集群、总线管理集群、生产者实例池、消费者实例池以及存储集群。
24.消息总线管理服务,配置为响应于消息处理端发送的目标消息处理请求,确定与所述目标消息处理请求适配的目标主题topic;以及,从至少两个消息中间件集群中确定所述目标topic对应的分区;所述消息处理端包括生产消息的生产者端和消费消息的消费者端;
25.消息总线管理服务,配置为从消息处理实例池中确定目标消息处理实例;
26.目标消息处理实例,配置为控制在所述消息处理端与所述目标topic对应的分区之间进行消息处理。
27.在本实施例中,生产者通过调用消息总线管理服务的总线管理集群请求创建,管
理集群通过topic从存储集群中查询确定目标topic对应的分区。其中所述存储集群记录有至少两个消息中间件集群中各个消息中间件集群、消息中间件集群中topic以及topic对应的分区信息。
28.消息总线管理服务查询消息处理实例池中是否存在空闲的消息处理实例;所述消息处理实例池包括生产者端对应的消息发送实例池与消费者端对应的消息接收实例池;若存在,则从空闲的消息处理实例中选取与所述目标消息处理请求适配的目标消息处理实例,分配给所述目标消息处理请求对应的消息处理端;若不存在,则消息处理实例池中创建与所述目标消息处理请求适配的目标消息处理实例,分配给所述目标消息处理请求对应的消息处理端。本实施例通过目标消息处理实例灵活扩展消息中间件集群数量以便适应更高的并发量。
29.目标消息处理实例控制与所述目标消息处理请求对应的消息处理端创建长连接;若消息处理端为生产者端,则在创建长连接后,接收从生产者端发送的消息数据,并将消息数据发送到所述目标topic对应的分区的消息队列;若消息处理端为消费者端,则在创建长连接后,监听所述目标topic对应的分区的消息队列的消息数据,并将消息数据发送到消费者端。
30.在本实施例中,目前使用较多的消息中间件有activemq、rabbitmq、zeromq、kafka、metamq、rocketmq等。图2是以kafka为消息中间件作为范例的集群联邦管理系统详细架构图。
31.消息总线管理服务响应于消息处理端发送的目标消息处理请求,确定与所述目标消息处理请求适配的目标主题topic。其中,消息总线管理服务可以通过获取目标消息请求关键字段或者回复目标消息处理请求的方式进行响应。从至少两个消息中间件集群中确定所述目标topic对应的分区。其中,kafka每个主题的多个分区日志分布式地存储在kafka集群上。消息总线管理服务根据目标消息处理请求适配的目标主题topic从存储集群中查询确定目标topic对应的分区。其中所述存储集群记录有至少两个消息中间件集群中各个消息中间件集群、消息中间件集群中topic以及topic对应的分区信息。
32.消息总线管理服务通过对生产者端的消息处理请求进行响应确定与所述目标消息处理请求适配的目标主题topic和对应的分区。同时,生产者调用消息总线管理服务请求消息总线管理服务建立生产者端和生产者实例池的连接。其中,生产者端和生产者实例池建立连接的过程可以是消息总线管理服务查询生产者例池中是否存在空闲的生产者实例;若存在,则从空闲的生产者实例中选取与所述目标消息处理请求适配的目标生产者实例,分配给所述目标消息处理请求对应的生产者端;若不存在,消息总线管理服务在生产者实例池中创建与所述目标消息处理请求适配的目标生产者实例,分配给所述目标消息处理请求对应的生产者端。建立生产者端与生产者实例池的连接后,就可以根据生产者端的消息处理请求确定对应的生产者实例。生产者实例根据生产者端的消息处理请求适配的目标主题topic和对应的分区将消息数据发送到所述目标topic对应的分区的消息队列进行存储。
33.消息总线管理服务通过对消费者端的消息处理请求进行响应确定与所述目标消息处理请求适配的目标主题topic和对应的分区。同时,消费者调用消息总线管理服务请求消息总线管理服务建立消费者端和消费者实例池的连接。其中,消费端和消费者实例池建立连接的过程可以是消息总线管理服务查询消费者例池中是否存在空闲的消费者实例;若
存在,则从空闲的消费者实例中选取与所述目标消息处理请求适配的目标消费者实例,分配给所述目标消息处理请求对应的消费者端;若不存在,消息总线管理服务在消费者实例池中创建与所述目标消息处理请求适配的目标消费者实例,分配给所述目标消息处理请求对应的消费者端。建立消费者端与消费者实例池的连接后,就可以根据消费者端的消息处理请求确定对应的消费者实例。消费者实例根据消费者端的消息处理请求适配的目标主题topic和对应的分区监听所述目标topic对应的分区的消息队列的消息数据,并将消息数据发送到消费者端。
34.在上述方案的基础上,所述至少两个消息中间件集群直接注册到所述消息总线管理服务的总线管理集群中进行统一管理。可选的,所述消息总线管理服务,还配置为创建主题topic并将主题topic对应分区均衡分配在至少两个消息中间件集群上,以实现跨集群分区存储。
35.可选地,当topic的分区数量较多时,才有必要在多个集群中创建topic和分区,此时所述至少两个消息中间件集群中至少存在两个消息中间件集群的消息代理节点上有相同的主题topic。如果仅仅是一个topic且1个分区,就任选一个集群创建一个分区即可。
36.为了提升数据吞吐量,现有技术通常将集群进行横向拓展。图3是当前业务场景下处理大数据量并发的方式图。如图3所示人工将数据按照多个地域分片,集群只负责服务于对应的特定地区,为了适应超大数据量,采用资源冗余的方式解决数据并发量大的问题。通过增加集群将数据分流使各个集群承载相对较小的压力,然而多个集群之间仍无法统一管理,仍会出现无法应对超大数据量的问题。然而,在本实施例中,通过将主题topic对应分区均衡分配在至少两个消息中间件集群上实现跨集群分区存储,将消息中间件集群注册到消息总线管理服务的总线管理集群中进行消息中间件集群的统一管理,可以对中间件集群进行统一管理,避免单个集群应对超大数据量的问题。
37.在上述方案的基础上,所述消息总线管理服务通过远程过程调用通信方式将对外暴露的消息处理端应用接口与用户端连接。用户端可以是使用本系统的用户,消息处理端可以包括生产消息的生产者端和消费消息的消费者端。生产者端可以是消息发送端,消费者端可以是消息接收端。用户只用和消息处理端进行联系,通过消息总线管理服务确定消息对应集群,避免用户和中间集群的直接联系,达到统一接入的目的,不需要用户选择集群,避免因一旦选定了集群,在将来扩展集群的时候用户还需要修改集群地址所导致的复杂度,而本方案中扩展集群对用户来说是无感知的,将来无论怎么修改集群用户均不需要过于关注。
38.本方案通过这样的设置,通过消息总线管理服务响应消息处理端发送的目标消息处理请求,确定与所述目标消息处理请求适配的目标主题topic;从至少两个消息中间件集群中确定所述目标topic对应的分区;从消息处理实例池中确定目标消息处理实例;目标消息处理实例在所述消息处理端与所述目标topic对应的分区之间进行消息处理。本技术方案通过消息总线管理服务实现多个集群的统一管理,通过消息处理实例池避免消息处理端与中间件集群的直接联系,达到统一接入的目的;能够提供高吞吐量的消息实时传输,为生产者端和消费者端提供可靠的实时通信机制。
39.实施例二
40.图4是本发明实施例二提供的一种消息队列集群联邦管理方法的流程图,本实施
例所提供的方法可以由上述消息队列集群联邦管理系统来执行。如图4所示,本实施例的方法具体包括如下步骤:
41.s410、响应消息处理端发送的目标消息处理请求,确定与所述目标消息处理请求适配的目标主题topic;以及,从至少两个消息中间件集群中确定所述目标topic对应的分区;所述消息处理端包括生产消息的生产者端和消费消息的消费者端。
42.s420、从消息处理实例池中确定目标消息处理实例。
43.s430、在所述消息处理端与所述目标topic对应的分区之间进行消息处理。
44.在上述各技术方案的基础上,可选的,所述方法还包括:
45.从存储集群中查询确定所述目标topic对应的分区;其中所述存储集群记录有至少两个消息中间件集群中各个消息中间件集群、消息中间件集群中topic以及topic对应的分区信息。
46.在上述各技术方案的基础上,可选的,所述方法还包括:
47.查询消息处理实例池中是否存在空闲的消息处理实例;所述消息处理实例池包括生产者端对应的消息发送实例池与消费者端对应的消息接收实例池;
48.若存在,则从空闲的消息处理实例中选取与所述目标消息处理请求适配的目标消息处理实例,分配给所述目标消息处理请求对应的消息处理端;
49.若不存在,则消息处理实例池中创建与所述目标消息处理请求适配的目标消息处理实例,分配给所述目标消息处理请求对应的消息处理端。
50.在上述各技术方案的基础上,可选的,所述方法还包括:
51.控制与所述目标消息处理请求对应的消息处理端创建长连接;
52.若消息处理端为生产者端,则在创建长连接后,接收从生产者端发送的消息数据,并将消息数据发送到所述目标topic对应的分区的消息队列;
53.若消息处理端为消费者端,则在创建长连接后,监听所述目标topic对应的分区的消息队列的消息数据,并将消息数据发送到消费者端。
54.在上述各技术方案的基础上,可选的,所述至少两个消息中间件集群直接注册到所述消息总线管理服务的总线管理集群中进行统一管理。
55.在上述各技术方案的基础上,可选的,所述消息总线管理服务通过远程过程调用通信方式将对外暴露的消息处理端应用接口与用户端连接。
56.在上述各技术方案的基础上,可选的,所述方法还包括:
57.创建主题topic并将主题topic对应分区均衡分配在至少两个消息中间件集群上,以实现跨集群分区存储。可选地,所述至少两个消息中间件集群中至少存在两个消息中间件集群的消息代理节点上有相同的主题topic。
58.本实施例在上述实施例的基础上,提供了一种消息队列集群联邦管理方法,该方法可以通过消息总线管理服务实现多个集群的统一管理,通过消息处理实例池避免消息处理端与中间件集群的直接联系,保护消息处理端的数据隐私;能够提供高吞吐量的消息实时传输,为生产者端和消费者端提供可靠的实时通信机制。
59.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
60.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献