CN108282514A - 一种分布式业务建立方法及装置 - Google Patents
一种分布式业务建立方法及装置 Download PDFInfo
- Publication number
- CN108282514A CN108282514A CN201711322667.3A CN201711322667A CN108282514A CN 108282514 A CN108282514 A CN 108282514A CN 201711322667 A CN201711322667 A CN 201711322667A CN 108282514 A CN108282514 A CN 108282514A
- Authority
- CN
- China
- Prior art keywords
- information
- module
- physical cluster
- message
- business
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种分布式业务建立方法及装置,所述装置包括:业务建立模块,用于接收客户端发送的业务请求消息,并确定需要进行生产或者消费的消息主题信息,并将所述消息主题信息发送给元数据管理中心模块上,以及将所述业务请求消息发送给业务代理模块;元数据管理中心模块,用于存储接收到的消息主题信息;消息主题信息包括:消息主题的生产者或消费者信息,以及消息主题在物理集群上的分布信息;业务代理模块,用于根据消息主题信息,从元数据管理中心模块存中查询对应的分布信息,确定所述消息主题信息对应的物理集群,并将所述物理集群的信息发送给业务建立模块;业务建立模块,还用于建立所述客户与所述物理集群之间的连接。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种分布式业务建立方法及装置。
背景技术
Kafka是一个分布式的、可分区的、可复制的消息系统,Kafka以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个代理(broker)。它不但具有普通消息系统的功能,而且还具有自己独特的设计。可以简单理解为:kafka是一个日志集群,各种各样的服务器将它们自身的日志发送到集群中进行统一汇总和存储,然后其它机器从集群中拉取消息进行分析处理,如ELT、数据挖掘等。
现有Kafka集群都是分开部署运维的,由于集群数量众多,各个集群的空闲程度不一致,资源得不到充分利用;另外,每个集群完全独立,无法对消息主题(topic)信息进行统一管理,以及资源的统一调度和分配。
因此,如何对topic信息进行统一管理来提高运行维度效率是目前有待解决的技术问题。
发明内容
本发明实施例所要解决的技术问题是提供一种分布式业务建立装置,以解决现有技术中不能对topic信息进行统一管,导致运行维度效率降低的技术问题。
相应的,本发明实施例还提供了一种分布式业务建立方法,用以保证上述装置的实现及应用。
为了解决上述问题,,本发明是通过如下技术方案实现的:
第一方面提供一种分布式业务建立装置,所述装置包括:元数据管理中心模块、业务建立模块和业务代理模块,其中,
所述业务建立模块,用于接收客户端发送的业务请求消息,确定所述业务请求消息需要进行生产或者消费的消息主题信息,并将所述消息主题信息发送给所述元数据管理中心模块上,以及将所述业务请求消息发送给业务代理模块;
所述元数据管理中心模块,用于存储接收到的所述消息主题信息;其中,所述消息主题信息包括:消息主题的生产者或消费者信息,以及消息主题在物理集群上的分布信息;
所述业务代理模块,用于根据接收到所述业务请求消息中的消息主题信息,从所述元数据管理中心模块中查询对应的分布信息,并根据查询到的所述分布信息确定所述消息主题信息对应的物理集群,并将确定的所述物理集群的信息发送给所述业务建立模块;
所述业务建立模块,还用于在接收到所述物理集群的信息时,将所述业务请求消息发送给所述物理集群的信息对应的物理集群,建立所述客户端与所述物理集群之间的连接。
可选的,所述业务建立模块,具体用于通过软件开发工具包SDK接收客户端发送的业务请求消息;对所述业务请求消息进行解析,得到需要进行生产或消费的消息主题信息;并将所述消息主题信息发送到所述元数据管理中心模块中;以及将所述业务请求消息发送给所述业务代理模块。
可选的,所述业务代理模块包括:
第一查询模块,用于根据接收到所述业务请求消息中的消息主题信息,从所述元数据管理中心模块中查询到对应的分布信息,如果所述分布信息为所述消息主题信息对应一个物理集群;
第一分配模块,用于根据所述分布信息,将与所述消息主题信息对应的一个物理集群分配给所述客户端;
第一发送模块,用于将所述第一分配模块分配的所述物理集群的信息发送给所述业务建立模块。
可选的,所述业务代理模块包括:
第二查询模块,用于根据接收到所述业务请求消息中的消息主题信息,从所述元数据管理中心模块中查询到对应的分布信息,如果所述分布信息为:所述消息主题信息对应多个物理集群中的至少两个物理资源集群;
获取模块,用于获取所述至少两个物理集群的资源使用信息;
第二分配模块,用于利用负载均衡策略将资源使用少的物理集群分配给所述客户端;
第二发送模块,用于将所述第二分配模块分配的所述物理集群的信息发送给所述业务建立模块。
可选的,所述业务代理模块还用于获取新增的至少一个物理集群的信息;并将所述至少一个物理集群的信息发送给所述元数据管理中心模块;
所述元数据管理中心模块,还用于存储新增的至少一个物理集群的信息。
可选的,所述元数据管理中心模块、业务建立模块和业务代理模块中的至少两个模块集成在一起。
第二方面提供一种分布式业务建立方法,所述方法包括:
接收客户端发送的业务请求消息;
确定所述业务请求消息需要进行生产或者消费的消息主题信息;其中,所述消息主题信息包括:消息主题的生产者或消费者信息,以及所述消息主题在物理集群上的分布信息;
存储所述消息主题信息;
根据所述消息主题信息从所述分布信息中确定对应的物理集群;
将所述物理集群分配给所述客户端;
将所述业务请求消息发送给所述物理集群,建立所述客户端与所述物理集群之间的连接。
可选的,所述接收客户端发送的业务请求消息,具体包括:通过软件开发工具包SDK接收客户端发送的业务请求消息。
可选的,所述确定所述业务请求消息需要进行生产或消费的消息主题信息,包括:
对所述业务请求消息进行解析,得到需要进行生产或消费的消息主题信息;
所述存储所述消息主题信息包括;将所述消息主题信息注册到元数据管理中心。
可选的,所述根据所述消息主题信息从所述分布信息中确定对应的物理集群,包括:
根据所述消息主题信息从所述分布信息中查询到所述消息主题信息对应一个物理集群;
将所述物理集群分配给所述客户端。
可选的,所述根据所述消息主题信息从所述分布信息中确定对应的物理集群,包括:
根据所述消息主题信息从所述分布信息中查询到所述消息主题信息对应多个物理集群中的至少两个物理集群;
获取所述至少两个物理集群的资源使用信息;
利用负载均衡策略将资源使用少的物理集群分配给所述客户端。
可选的,所述装置还包括:
获取新增的至少一个物理集群的信息;
存储所述至少一个物理集群的信息。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例中,业务代理模块结合元数据管理中心模块中存储的消息主题在多个物理集群上的分布信息,为接收到的每个业务请求消息中的消息主题分配合适物理集群(即实际集群),并将分配的物理集群的信息反馈给业务建立模块,而业务建立模块根据接收到的物理集群的信息,建立客户端与该物理集群之间真正的物理连接。本发明实施例中,将接收到的业务请求小子中的消息主题信息均注册元数据中心模块上,实现了对消息主题信息的统一管理,有效提高运维效率。进一步,根据元数据管理中心模块中存储的消息主题信息,可以了解到每个真实物理集群中消息主题的分布情况,从而可以利用负载均衡策略将业务请求消息中的消息主题分配给空闲资源多的物理集群,充分利用了各个物理集群的空闲资源,提高了物理集群资源的利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
图1是本发明实施例提供的一种分布式业务建立装置的结构示意图;
图2为本发明实施例提供的业务代理模块的一种结构示意图;
图3为本发明实施例提供的业务代理模块的另一种结构示意图;
图4为本发明实施例提供的业务代理模块的另一种结构示意图;
图5为本发明实施例提供的一种应用实例的结构示意图;
图6为本发明实施例提供的一种分布式业务建立方法的流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
请参阅图1,图1是本发明实施例提供的一种分布式业务建立装置的结构示意图;包括:元数据管理中心模块11、业务建立模块12和业务代理模块13,其中,
所述业务建立模块12,用于接收客户端发送的业务请求消息,确定所述业务请求消息需要进行生产或者消费的消息主题信息;并将所述消息主题信息发送给所述元数据管理中心模块11上,以及将所述业务请求消息发送给业务代理模块13;
其中,该业务请求消息,可以是生产者发布的服务消息,也可以是消费者订阅的消费消息。
业务建立模块12,具体可以通过软件开发工具包SDK接收到客户端发送的业务请求消息,其中,SDK(Software Development Kit),即软件开发工具包),用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。然后,对所述业务请求消息进行解析,得到需要进行生产或消费的消息主题信息,所述消息主题信息包括:消息主题的生产者或消费者信息,以及消息主题在物理集群上的分布信息;并将该业务请求消息通过SDK发送给业务代理模块13,也就是说,业务建立模块12将客户端(图中未示)发送的业务请求消息通过SDK发送给业务代理模块13。在客户端通过SDK与业务代理模块13进行业务连接时,业务建立模块12可以将所述消息主题信息发送给所述元数据管理中心模块11,以便于元数据管理中心模块11存储该消息主题信息。也就是说,业务建立模块12向元数据管理中心模块13注册需要进行生产或消费的Topic信息。
其中,在实际应用中,业务建立模块12可以是Kafka SDK,由一台或多台服务器组成,该服务器,可以是客户端服务器,也可以是后台服务器,且该服务器成有SDK应用程序。
所述元数据管理中心模块11,用于存储业务建立模块发送的消息主题(Topic)信息,所述消息主题信息可以包括:消息主题的生产者(owner)或消费者信息,以及消息主题在物理集群上的分布信息;也就是说,在该实施例中,消息主题可以包括消息主题的生产者信息,或者消费者信息;无论接收到的是生产者信息,还是消费者信息,都需要将其注册到元数据中心模块上,其注册的生产者或消费者其本身的信息(例如消费者信息是哪个业务、哪个项目来消费的),同时获取需要消费的Topic具体是在哪个物理集群上,再去进行消息消费。
其中,物理集群就是真实集群,是指由多个独立的计算机节点构成,在网络中表现为单一的为客户工作站提供高可靠性服务的系统,比如KafkaCluster。Kafka Cluster中的消息,是通过主题(Topic)来进行组织的,所谓Topic,是对一组消息的归纳,是指一个主题类似新闻中的体育、娱乐、教育等分类概念,在实际过程中通常一个业务一个主题。也就是说,在元数据管理中心模块中,记录着每个真实Kafka cluster的topic分布情况。
其中,元数据管理中心模块11可以有一台或多台服务器组成。
所述业务代理模块13,用于根据接收到所述业务请求消息中的所述消息主题信息,从所述元数据管理中心模块中查询对应的分布信息,并根据查询到的所述分布信息确定所述消息主题信息对应的物理集群,并将所述物理集群的信息发送给所述业务建立模块12;
也就是说,业务代理模块13结合元数据管理中心模块11中存储的分布信息,为每个Topic分配合适物理集群,在客户端连接过程中,并将分配的物理集群反馈给业务建立模块(比如Kafka SDK),以便于业务建立模块获得需要连接的物理集群(即真实集群)信息,从而建立真正的物理连接。具体以下述三种实施例为例,在实际应用中并不限于此。
第一种实施例,所述业务代理模块13可以包括:第一查询模块21,第一分配模块22和第一发送模块23,其结构示意图如图2所示,图2为本发明实施例提供的业务代理模块的一种结构示意图。
其中,第一查询模块21,用于根据接收到所述业务请求消息中的消息主题信息,从元数据管理中心模块11中查询到对应的分布信息,如果所述分布信息为所述消息主题信息对应一个物理集群;其中查询的方式就是读元数据管理中心模块中存储的数据。
在实际应用中,元数据管理中心模块11存储的消息主题信息可以对应一个物理集群,也可以对应多个物理集群。本实施例以对应一个物理集群为例。
第一分配模块22,用于根据所述分布信息,将与所述消息主题信息对应的一个物理集群分配给所述客户端;
第一发送模块23,用于将所述第一分配模块22分配的所述物理集群的信息发送给所述业务建立模块12。
所述业务建立模块12,还用于在接收到所述物理集群的信息时,将所述业务请求消息发送给所述物理集群的信息对应的物理集群,建立所述客户端与所述物理集群之间的连接;
具体的,在该实施例中,所述业务建立模块12,还用于在接收到第一发送模块发送的物理集群的信息时,将所述业务请求消息发送给所述物理集群的信息对应的物理集群,建立所述客户端与所述物理集群之间的连接。
第二种实施例,所述业务代理模块13可以包括:第二查询模块31,获取模块32,第二分配模块33和第二发送模块34,其结构示意图如图3所示,图3为本发明实施例提供的业务代理模块的另一种结构示意图。其中,
第二查询模块31,用于根据接收到所述业务请求消息中的消息主题信息从元数据管理中心模块11中查询到对应的分布信息,如果所述分布信息为:所述消息主题信息对应所述多个物理集群中的至少两个物理资源集群;其获取的方式,就是读取元数据管理中心模块中存储的数据,其读取数据的具体过程,对于本领域技术人员来说已是熟知技术,在此不再赘述。
获取模块32,用于获取所述至少两个物理集群的资源使用信息;
该实施例中,业务代理模块实时监测着每个物理集群资源的使用情况,业务代理模块中的第三获取模块可以实时获取所需要读取的物理集群的资源使用情况。
第二分配模块33,用于利用负载均衡策略将资源使用少的物理集群分配给所述客户端;
第二发送模块34,用于将所述第二分配模块33分配的所述物理集群的信息发送给所述业务建立模块;
所述业务建立模块12,还用于在接收到所述物理集群的信息时,将所述业务请求消息发送给所述物理集群的信息对应的物理集群,建立所述客户端与所述物理集群之间的连接;
具体的,在该实施例中,所述业务建立模块12,还用于在接收到第一发送模块发送的物理集群的信息时,将所述业务请求消息发送给所述物理集群的信息对应的物理集群,建立所述客户与所述物理集群之间的连接。
第三种实施例,所述业务代理模块13可以包括:第一查询模块21,第一分配模块22和第一发送模块23;以及第二查询模块31,获取模块32,第二分配模块33和第二发送模块34,其结构示意图如图4所示,图4为本发明实施例提供的业务代理模块的另一种结构示意图。
该图4中的各个模块的功能和作用详见上述图2和图3实施例中对应模块的功能和作用,在此不再赘述。
可选的,在该实施例中,第一查询模块21和第二查询模块31可以独立部署,也可以集成在一起;第一分配模块22和第二分配模块33可以独立部署,也可以集成在一起;第一发送模块23和第二发送模块34可以独立部署,也可以集成在一起。
本发明实施例中,业务代理模块结合元数据管理中心模块中存储的消息主题在物理集群上的分布信息,为接收到的每个业务请求消息中的消息主题分配合适物理集群(即实际集群),并将分配的物理集群反馈给业务建立模块,而业务建立模块根据接收到的物理集群的信息,建立客户端与该对应物理集群之间真正的物理连接。本发明实施例根据元数据管理中心模块中存储的消息主题信息,可以了解到每个真实物理集群中消息主题的分布情况,从而可以利用负载均衡策略将业务请求消息中的消息主题分配给空闲资源多的物理集群,充分利用了各个物理集群的空闲资源,提高了物理集群资源的利用率。同时,消息主题信息通过元数据管理中心模块进行统一管理,有效提高运维效率。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述业务代理模块还用于获取新增的至少一个物理集群的信息,并将所述至少一个物理集群的信息发送给所述元数据管理中心模块;
所述元数据管理中心模块,还用于存储新增的至少一个物理集群的信息。
在该实施例中,新增加(扩容)物理集群之后,物理集群会自动向数据中心注册新物理集群的信息,业务代理模块即可检测到这部分内容,是个主动汇报过程;此外,为了方便做资源调度,元数据管理中心模块还存储有物理集群的连接信息和负载情况,当然,也会存储Topic的信息,以及Topic在多个物理集群上的分布情况。通过该实施例可以自动实现分布式业务建立装置的扩容,不需要人工监控和操作,降低了成本,提高了工作了效率。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述元数据管理中心模块、业务建立模块和业务代理模块中的至少两个模块集成在一起,也可以独立部署;或者所述业务建立模块和业务代理模块中的至少一个集成在客户端,本实施例不做限制。
还请参阅图5,为本发明实施例提供的一种应用实例的结构示意图,包括:客户端(Client)51、分布式业务建立装置52,多个物理集群53,为了便于描述,多个物理集群53分别以Kafka Cluster1、Kafka Cluster2、KafkaCluster3……Kafka ClusterN表示。其中,分布式业务建立装置52,分别与客户端(Client)51和多个物理集群53连接。其中,分布式业务建立装置52包括:元数据管理中心模块521、业务建立模块522和业务代理模块523,而所述元数据管理中心模块521、业务建立模块522和业务代理模块523的具体功能和作用详见上述对应实施例,在此不再赘述。
在该实施例中,业务建立模块522以集成有Kafka SDK的服务器(下述直接用KafkaSDK表示)为例,Kafka SDK将客户端直接和Server的连接方式取消,开发出SDK,客户端51必须通过SDK进行连接,即客户端51向集成有Kafka SDK的服务器发送业务请求消息,该业务请求消息可以是生产者提供的服务消息,也可以是消费者订阅的消费消息。Kafka SDK在接收到客户端发送的业务请求消息时,确定所述业务请求消息需要进行生产或者消费的Topic信息,将所述业务请求消息发送给业务代理模块;以及将所述Topic信息存储到元数据管理中心模块上,即在业务进行连接的同时,向元数据管理中心模块注册需要进行生产消费的Topic信息
业务代理模块523,以KafkaProxy为例,KafkaProxy结合元数据管理中心模块中存储的消息主题信息在物理集群上的分布信息,为每个Topic分配合适物理集群。在客户端连接过程中,反馈给Kafka SDK需要连接的真实集群信息,以便于Kafka SDK建立真正的物理连接。
元数据管理中心模块521,有多台服务器组成,也可以称为元数据管理中心。元数据管理中心模块51用于存储Topic的信息,包括但不限于此以下信息:topic的生产者(owner)信息或消费者信息,topic在真实物理集群上的分布信息;当然,还可以包括物理集群的连接信息和负载情况等。也就是说,本实施例通过元数据管理中心模块,可以了解到每个真实kafka cluster的topic分布情况,从而可进行资源调度和负载均衡,可以将新增topic分配到为负载较低的集群上。元数据管理中心实现了统一命令空间的功能,从而实现topic的统一管理。
本发明实施例根据元数据管理中心中存储的消息主题信息,可以了解到每个真实物理集群中消息主题的分布情况,从而可以利用负载均衡策略将业务请求消息中的消息主题分配给空闲资源多的物理集群,充分利用了各个物理集群的空闲资源,提高了物理集群资源的利用率。同时,消息主题信息通过元数据管理中心进行统一管理,实现了云集群管理,有效提高运维效率。
也就是说,对分开部署运维的现有Kafka集群进行云集群管理,对topic信息进行统一管理,对多个物理集群上的资源进行统一调度和分配。基于统一命名空间的分布式业务建立装置,通过Client SDK实现元数据的统一注册,
还请参阅图6,图6为本发明实施例提供的一种分布式业务建立方法的流程图,所述方法包括:
步骤601:接收客户端发送的业务请求消息;
该步骤中,客户端服务器或后台服务器可以通过软件开发工具包SDK接收到客户端发送的业务请求消息。
步骤602:确定所述业务请求消息需要进行生产或者消费的消息主题信息;其中,所述消息主题信息包括:消息主题的生产者或消费者信息,以及消息主题在物理集群上的分布信息;
其中,一种确定方式为:客户端服务器或后台服务器对所述业务请求消息进行解析,得到需要进行生产或消费的消息主题信息。
步骤603:存储所述消息主题信息;
客户端服务器或后台服务器将所述消息主题信息注册到元数据管理中心。
步骤604:根据所述消息主题信息从所述分布信息中确定对应的物理集群;
该实施例中,确定的方式以下述两种方式为例:
一种确定方式为:客户端服务器或后台服务器根据所述消息主题信息从所述分布信息中查询到所述消息主题信息对应一个物理集群;将所述物理集群分配给所述客户端。
另一种方式为:客户端服务器或后台服务器根据所述消息主题信息从所述分布信息中查询到所述消息主题信息对应所述多个物理集群中的至少两个物理集群;
客户端服务器或后台服务器获取所述至少两个物理集群的资源使用信息;
客户端服务器或后台服务器利用负载均衡策略将资源使用少的物理集群分配给所述客户端。
需要说明的是,这两种确定方式的具体实现过程,详见上述实施例中对应的实现过程,在此不再赘述。
步骤605:将所述物理集群分配给所述客户端;
客户端服务器或后台服务器将所述物理集群分配给所述客户端
步骤606:将所述业务请求消息发送给所述物理集群,建立所述客户端与所述物理集群之间的连接。
客户端服务器或后台服务器建立所述客户与所述物理集群之间的连接。
对于方法实施例而言,由于其与装置实施例基本相似,所以描述的比较简单,相关之处参见装置实施例的部分说明即可。
本发明实施例中,客户端服务器或后台服务器根据元数据管理中心中存储的消息主题信息,可以了解到每个真实物理集群中消息主题的分布情况,从而可以利用负载均衡策略将业务请求消息中的消息主题分配给空闲资源多的物理集群,充分利用了各个物理集群的空闲资源,提高了物理集群资源的利用率。同时,消息主题信息通过元数据管理中心进行统一管理,实现了云集群管理,有效提高运维效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种分布式业务建立方法和一种分布式业务建立装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种分布式业务建立装置,其特征在于,包括:元数据管理中心模块、业务建立模块和业务代理模块,其中,
所述业务建立模块,用于接收客户端发送的业务请求消息,确定所述业务请求消息需要进行生产或者消费的消息主题信息,并将所述消息主题信息发送给所述元数据管理中心模块上,以及将所述业务请求消息发送给业务代理模块;
所述元数据管理中心模块,用于存储接收到的所述消息主题信息;其中,所述消息主题信息包括:消息主题的生产者或消费者信息,以及消息主题在物理集群上的分布信息;
所述业务代理模块,用于根据接收到所述业务请求消息中的消息主题信息,从所述元数据管理中心模块中查询对应的分布信息,并根据查询到的所述分布信息确定所述消息主题信息对应的物理集群,并将确定的所述物理集群的信息发送给所述业务建立模块;
所述业务建立模块,还用于在接收到所述物理集群的信息时,将所述业务请求消息发送给所述物理集群的信息对应的物理集群,建立所述客户端与所述物理集群之间的连接。
2.根据权利要求1所述的装置,其特征在于,
所述业务建立模块,具体用于通过软件开发工具包SDK接收客户端发送的业务请求消息;对所述业务请求消息进行解析,得到需要进行生产或消费的消息主题信息;并将所述消息主题信息发送到所述元数据管理中心模块中;以及将所述业务请求消息发送给所述业务代理模块。
3.根据权利要求1所述的装置,其特征在于,所述业务代理模块包括:
第一查询模块,用于根据接收到所述业务请求消息中的消息主题信息,从所述元数据管理中心模块中查询到对应的分布信息,如果所述分布信息为所述消息主题信息对应一个物理集群;
第一分配模块,用于根据所述分布信息,将与所述消息主题信息对应的一个物理集群分配给所述客户端;
第一发送模块,用于将所述第一分配模块分配的所述物理集群的信息发送给所述业务建立模块。
4.根据权利要求1至3任一项所述的装置,其特征在于,所述业务代理模块包括:
第二查询模块,用于根据接收到所述业务请求消息中的消息主题信息,从所述元数据管理中心模块中查询到对应的分布信息,如果所述分布信息为:所述消息主题信息对应多个物理集群中的至少两个物理资源集群;
获取模块,用于获取所述至少两个物理集群的资源使用信息;
第二分配模块,用于利用负载均衡策略将资源使用少的物理集群分配给所述客户端;
第二发送模块,用于将所述第二分配模块分配的所述物理集群的信息发送给所述业务建立模块。
5.根据权利要求1至3任一项所述的装置,其特征在于,所述业务代理模块还用于获取新增的至少一个物理集群的信息;并将所述至少一个物理集群的信息发送给所述元数据管理中心模块;
所述元数据管理中心模块,还用于存储新增的至少一个物理集群的信息。
6.根据权利要求1至3任一项的装置,其特征在于,所述元数据管理中心模块、业务建立模块和业务代理模块中的至少两个模块集成在一起。
7.一种分布式业务建立方法,其特征在于,包括:
接收客户端发送的业务请求消息;
确定所述业务请求消息需要进行生产或者消费的消息主题信息;其中,所述消息主题信息包括:消息主题的生产者或消费者信息,以及所述消息主题在物理集群上的分布信息;
存储所述消息主题信息;
根据所述消息主题信息从所述分布信息中确定对应的物理集群;
将所述物理集群分配给所述客户端;
将所述业务请求消息发送给所述物理集群,建立所述客户端与所述物理集群之间的连接。
8.根据权利要求7所述的方法,其特征在于,所述接收客户端发送的业务请求消息,具体包括:通过软件开发工具包SDK接收客户端发送的业务请求消息。
9.根据权利要求7所述的方法,其特征在于,所述确定所述业务请求消息需要进行生产或消费的消息主题信息,包括:
对所述业务请求消息进行解析,得到需要进行生产或消费的消息主题信息;
所述存储所述消息主题信息包括;将所述消息主题信息注册到元数据管理中心。
10.根据权利要求7至9任一项所述的方法,其特征在于,所述根据所述消息主题信息从所述分布信息中确定对应的物理集群,包括:
根据所述消息主题信息从所述分布信息中查询到所述消息主题信息对应一个物理集群;
将所述物理集群分配给所述客户端。
11.根据权利要求7至9任一项所述的方法,其特征在于,所述根据所述消息主题信息从所述分布信息中确定对应的物理集群,包括:
根据所述消息主题信息从所述分布信息中查询到所述消息主题信息对应多个物理集群中的至少两个物理集群;
获取所述至少两个物理集群的资源使用信息;
利用负载均衡策略将资源使用少的物理集群分配给所述客户端。
12.根据权利要求7至9任一项所述的方法,其特征在于,还包括:
获取新增的至少一个物理集群的信息;
存储所述至少一个物理集群的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711322667.3A CN108282514B (zh) | 2017-12-12 | 2017-12-12 | 一种分布式业务建立方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711322667.3A CN108282514B (zh) | 2017-12-12 | 2017-12-12 | 一种分布式业务建立方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108282514A true CN108282514A (zh) | 2018-07-13 |
CN108282514B CN108282514B (zh) | 2020-11-27 |
Family
ID=62801558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711322667.3A Active CN108282514B (zh) | 2017-12-12 | 2017-12-12 | 一种分布式业务建立方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108282514B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110868322A (zh) * | 2019-11-15 | 2020-03-06 | 北京京东尚科信息技术有限公司 | 分布式消息服务的网络管理方法、系统、设备及存储介质 |
CN111163088A (zh) * | 2019-12-30 | 2020-05-15 | 北京奇艺世纪科技有限公司 | 消息处理方法、系统、装置及电子设备 |
CN111240867A (zh) * | 2020-01-21 | 2020-06-05 | 中移(杭州)信息技术有限公司 | 一种信息通讯系统及方法 |
CN111371892A (zh) * | 2020-03-05 | 2020-07-03 | 中国银行股份有限公司 | 高并发分布式消息推送系统及方法 |
CN111818112A (zh) * | 2019-04-11 | 2020-10-23 | 中国移动通信集团四川有限公司 | 一种基于Kafka系统的发送消息的方法和装置 |
CN112307113A (zh) * | 2019-07-29 | 2021-02-02 | 中兴通讯股份有限公司 | 一种业务请求消息发送方法及分布式数据库架构 |
CN114244797A (zh) * | 2021-12-17 | 2022-03-25 | 中国建设银行股份有限公司 | 一种消息处理方法、装置、系统、设备及介质 |
CN114338063A (zh) * | 2020-09-29 | 2022-04-12 | 中移物联网有限公司 | 消息队列系统、业务处理方法及计算机可读存储介质 |
CN114598662A (zh) * | 2022-03-15 | 2022-06-07 | 云粒智慧科技有限公司 | 消息队列集群联邦管理系统以及方法 |
CN115190091A (zh) * | 2022-05-17 | 2022-10-14 | 贝壳找房(北京)科技有限公司 | 一种业务消息的推送方法和装置 |
CN116112570A (zh) * | 2021-11-10 | 2023-05-12 | 青岛海尔科技有限公司 | 消息处理方法、装置、电子设备与存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8843396B2 (en) * | 2005-09-14 | 2014-09-23 | Millennial Media, Inc. | Managing payment for sponsored content presented to mobile communication facilities |
CN104486107A (zh) * | 2014-12-05 | 2015-04-01 | 曙光信息产业(北京)有限公司 | 一种日志采集装置及方法 |
CN104754036A (zh) * | 2015-03-06 | 2015-07-01 | 合一信息技术(北京)有限公司 | 一种基于kafka的消息处理系统及处理方法 |
CN105592151A (zh) * | 2015-12-18 | 2016-05-18 | 畅捷通信息技术股份有限公司 | 数据处理方法及数据处理装置 |
CN106293968A (zh) * | 2016-08-04 | 2017-01-04 | 华中科技大学 | 一种基于Kafka消息中间件的双向通信系统及方法 |
CN106375462A (zh) * | 2016-09-13 | 2017-02-01 | 北京百度网讯科技有限公司 | 在分布式消息系统中实现消息持久化的方法及装置 |
CN106817295A (zh) * | 2016-12-08 | 2017-06-09 | 努比亚技术有限公司 | 一种消息处理装置和方法 |
CN106920158A (zh) * | 2017-03-22 | 2017-07-04 | 北京再塑宝科技有限公司 | 基于Storm和Kafka技术的订单实时监控系统 |
-
2017
- 2017-12-12 CN CN201711322667.3A patent/CN108282514B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8843396B2 (en) * | 2005-09-14 | 2014-09-23 | Millennial Media, Inc. | Managing payment for sponsored content presented to mobile communication facilities |
CN104486107A (zh) * | 2014-12-05 | 2015-04-01 | 曙光信息产业(北京)有限公司 | 一种日志采集装置及方法 |
CN104754036A (zh) * | 2015-03-06 | 2015-07-01 | 合一信息技术(北京)有限公司 | 一种基于kafka的消息处理系统及处理方法 |
CN105592151A (zh) * | 2015-12-18 | 2016-05-18 | 畅捷通信息技术股份有限公司 | 数据处理方法及数据处理装置 |
CN106293968A (zh) * | 2016-08-04 | 2017-01-04 | 华中科技大学 | 一种基于Kafka消息中间件的双向通信系统及方法 |
CN106375462A (zh) * | 2016-09-13 | 2017-02-01 | 北京百度网讯科技有限公司 | 在分布式消息系统中实现消息持久化的方法及装置 |
CN106817295A (zh) * | 2016-12-08 | 2017-06-09 | 努比亚技术有限公司 | 一种消息处理装置和方法 |
CN106920158A (zh) * | 2017-03-22 | 2017-07-04 | 北京再塑宝科技有限公司 | 基于Storm和Kafka技术的订单实时监控系统 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111818112A (zh) * | 2019-04-11 | 2020-10-23 | 中国移动通信集团四川有限公司 | 一种基于Kafka系统的发送消息的方法和装置 |
CN111818112B (zh) * | 2019-04-11 | 2022-10-04 | 中国移动通信集团四川有限公司 | 一种基于Kafka系统的发送消息的方法和装置 |
CN112307113A (zh) * | 2019-07-29 | 2021-02-02 | 中兴通讯股份有限公司 | 一种业务请求消息发送方法及分布式数据库架构 |
CN110868322B (zh) * | 2019-11-15 | 2023-04-07 | 北京京东尚科信息技术有限公司 | 分布式消息服务的网络管理方法、系统、设备及存储介质 |
CN110868322A (zh) * | 2019-11-15 | 2020-03-06 | 北京京东尚科信息技术有限公司 | 分布式消息服务的网络管理方法、系统、设备及存储介质 |
CN111163088B (zh) * | 2019-12-30 | 2022-04-22 | 北京奇艺世纪科技有限公司 | 消息处理方法、系统、装置及电子设备 |
CN111163088A (zh) * | 2019-12-30 | 2020-05-15 | 北京奇艺世纪科技有限公司 | 消息处理方法、系统、装置及电子设备 |
CN111240867A (zh) * | 2020-01-21 | 2020-06-05 | 中移(杭州)信息技术有限公司 | 一种信息通讯系统及方法 |
CN111240867B (zh) * | 2020-01-21 | 2023-11-03 | 中移(杭州)信息技术有限公司 | 一种信息通讯系统及方法 |
CN111371892A (zh) * | 2020-03-05 | 2020-07-03 | 中国银行股份有限公司 | 高并发分布式消息推送系统及方法 |
CN114338063A (zh) * | 2020-09-29 | 2022-04-12 | 中移物联网有限公司 | 消息队列系统、业务处理方法及计算机可读存储介质 |
CN114338063B (zh) * | 2020-09-29 | 2023-11-10 | 中移物联网有限公司 | 消息队列系统、业务处理方法及计算机可读存储介质 |
CN116112570A (zh) * | 2021-11-10 | 2023-05-12 | 青岛海尔科技有限公司 | 消息处理方法、装置、电子设备与存储介质 |
CN114244797A (zh) * | 2021-12-17 | 2022-03-25 | 中国建设银行股份有限公司 | 一种消息处理方法、装置、系统、设备及介质 |
CN114598662A (zh) * | 2022-03-15 | 2022-06-07 | 云粒智慧科技有限公司 | 消息队列集群联邦管理系统以及方法 |
CN115190091A (zh) * | 2022-05-17 | 2022-10-14 | 贝壳找房(北京)科技有限公司 | 一种业务消息的推送方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108282514B (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108282514A (zh) | 一种分布式业务建立方法及装置 | |
US10516577B2 (en) | Graceful scaling in software driven networks | |
US10491523B2 (en) | Load distribution in data networks | |
CN106131213B (zh) | 一种服务管理方法和系统 | |
US7454496B2 (en) | Method for monitoring data resources of a data processing network | |
US8027922B2 (en) | Integration infrastructure | |
US10395188B2 (en) | Mapping portal applications in multi-tenant environment | |
EP2947569A1 (en) | Hybrid applications operating between on-premise and cloud platforms | |
CN106921754A (zh) | 集群系统的负载均衡方法、装置、介质和电子设备 | |
US8468217B2 (en) | Maintaining portlet data currency while minimizing latency | |
CN107888666A (zh) | 一种跨地域数据存储系统以及数据同步方法和装置 | |
CN110769018A (zh) | 一种消息推送方法及装置 | |
WO2008000840A1 (en) | Distributed p2p network system | |
CN110944067A (zh) | 一种负载均衡方法和服务器 | |
CN110401731A (zh) | 用于分配内容分发节点的方法和装置 | |
CN110012050A (zh) | 消息处理、存储方法、装置及系统 | |
CN109617889A (zh) | 视频传输系统和视频传输方法、装置及存储介质 | |
CN103281254B (zh) | 动态配置带宽的方法 | |
CN109298950A (zh) | 企业服务总线系统、数据处理方法、终端及存储介质 | |
CN117118982A (zh) | 基于云原生多集群的消息传输方法、装置、介质及设备 | |
CN110233791B (zh) | 数据去重方法和装置 | |
CN113778499A (zh) | 发布服务的方法、装置、设备和计算机可读介质 | |
CN106357549B (zh) | 集群部署中高并发分流的方法、装置、系统及负载均衡器 | |
CN113407339A (zh) | 资源请求反馈方法、装置、可读存储介质及电子设备 | |
CN106790477A (zh) | 实现云教室集群的系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |