CN117097781A - 一种集中管理Kafka的方法、系统、电子设备及存储介质 - Google Patents
一种集中管理Kafka的方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117097781A CN117097781A CN202310932497.XA CN202310932497A CN117097781A CN 117097781 A CN117097781 A CN 117097781A CN 202310932497 A CN202310932497 A CN 202310932497A CN 117097781 A CN117097781 A CN 117097781A
- Authority
- CN
- China
- Prior art keywords
- cluster
- client
- kafka
- metadata
- information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000001514 detection method Methods 0.000 claims abstract description 7
- 238000013475 authorization Methods 0.000 claims description 21
- 238000005192 partition Methods 0.000 claims description 13
- 238000012986 modification Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 abstract description 17
- 238000012423 maintenance Methods 0.000 abstract description 8
- 238000002955 isolation Methods 0.000 abstract description 5
- 230000000694 effects Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 230000005012 migration Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
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/2866—Architectures; Arrangements
- H04L67/2871—Implementation details of single intermediate entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
一种集中管理Kafka的方法、系统、电子设备及存储介质,数据处理技术领域。该方法包括:接收所述客户端发送的请求信息,识别所述请求信息确定所述请求信息对应的任务类型;根据预设检测算法,得到所述任务类型对应集群中的节点;将所述请求信息转发给所述集群中的节点;通过所述预设网关服务器接收所述集群中的节点响应于所述请求信息返回的元数据,并将所述元数据返回给所述客户端以建立所述客户端和集群之间的访问连接。实施本申请提供的技术方案,通过网关服务器服务器作为中间层连接客户端和集群,实现客户端和集群的隔离,达到了提高集群服务器运维效率的效果。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及一种集中管理Kafka的方法、系统、电子设备及存储介质。
背景技术
随着互联网技术的不断发展,各行业的业务也在不断发展,用户量增加,业务系统往往需要进行重新规划进行扩容以及服务器机架搬迁,甚至是机房容量不够进行机房搬迁这些都是很频繁和常规的操作,集群地址的变化给用户的影响是一个很大的问题。
目前,在一个Kafka集群需要迁移时,传统的方法是在新的位置先扩容相同数量的机器,然后将消息队列内的Topic迁移到新的节点上,这个Topic的迁移操作对用户是无感知的,迁移完成之后会将旧的机器做集群下架操作。
但是在实际应用中,客户端的访问地址还是旧的地址,机器之间下掉会导致用户无法访问到这个集群,因此需要等所有用户都修改自己的程序将访问地址改为新的机器地址之后才能下掉这些旧的机器。客户端在访问集群时会直连集群地址,往往用户数很多,从而很难在短时间内完全切换,导致整个迁移机器的周期很长,现有的客户端访问集群的方式亟待改进。
发明内容
本申请提供了一种集中管理Kafka的方法、系统、电子设备及存储介质,具有隔离客户端与Kafka集群,提高服务器运维效率的效果。
第一方面,本申请提供了一种集中管理Kafka的方法,包括:
接收所述客户端发送的请求信息,识别所述请求信息确定所述请求信息对应的任务类型;
根据预设检测算法,得到所述任务类型对应集群中的节点;
将所述请求信息转发给所述集群中的节点;
接收所述集群中的节点响应于所述请求信息返回的元数据;
将所述元数据返回给所述客户端以建立所述客户端和集群之间的访问连接。
通过采用上述技术方案,系统获取网关服务器地址,然后将客户端连接地址配置为网关服务器地址,连接网关服务器后会发起Metadata请求,然后由网关服务器接受到请求之后根据用户与集群的绑定关系将Metadata请求转发到集群中,集群接受到Metadata请求并将元数据返回给网关服务器,然后由网关服务器将该元数据返回给客户端,最后客户端根据该元数据与Kafka集群进行正常访问以及执行后续操作,能够通过网关服务器实现客户端与集群的隔离,提高对集群服务器运维的效率。
可选的,根据所述集群的地址信息,通过预设配置文件配置Gateway参数,所述参数包括网络配置、路由规则、安全配置、预设网关服务器地址。
通过采用上述技术方案,系统获取集群地址信息,然后会根据该地址信息配置Gateway参数,其中该Gateway参数包括网络配置、路由规则、安全配置、预设网关服务器地址,可有效提高处理客户端请求信息的效率。
可选的,接收所述客户端发出的Metadata请求;检测所述客户端对应的身份信息和ACL授权信息;根据所述身份信息和ACL授权信息,确定所述客户端与所述集群的绑定关系,所述集群包括多个Broker节点;根据所述绑定关系和预设负载均衡算法,得到所述绑定关系对应的Broker节点;将所述Metadata请求转发给所述集群对应的Broker节点。
通过采用上述技术方案,预设网关服务器接收客户端发送的Metadata请求,并检测该客户端的身份信息和ACL授权信息,通过读取该身份信息和ACL授权信息,得到客户端和集群的绑定关系,然后根据该绑定关系确定对应的Broker节点,并将Metadata请求转发给该Broker节点,能够避免集群中存在损坏的Broker节点导致客户端无法访问的问题,提高了系统性能和稳定性。
可选的,提取所述身份信息中的客户端ip地址;判断预设ip地址白名单中是否存在所述客户端ip地址;若是,则开启所述客户端访问所述Broker节点对应的权限;若否,则限制所述客户端的访问权限。
通过采用上述技术方案,通过识别客户端身份信息中的ip地址,然后检测预设ip地址白名单中是否存在该客户端身份信息中的ip地址,根据不同结果执行不同操作,如果预设ip地址白名单中存在该客户端身份信息中的ip地址则开启该客户端访问Broker节点对应的权限,如果不存在,则限制该客户端的访问权限,可有效提高客户端访问集群的安全性。
可选的,所述元数据由Broker节点根据预设合并算法将所述集群对应的Topic和分区信息封装为元数据并发送给所述预设网关服务器。
通过采用上述技术方案,集群中的Broker节点会响应于客户端的请求信息,根据预设合并算法将集群中对应的Topic和分区信息封装为元数据,然后将该元数据返回给预设网关服务器,便于客户端和管理员通过元数据了解Kafka集群的运行状态和性能。
可选的,响应于绑定关系修改请求,根据所述绑定关系修改请求中的修改请求信息对任务类型与所述集群中的节点之间的对应关系进行修改。
通过采用上述技术方案,响应于绑定关系修改请求,将原有任务类型与集群中Broker节点之间的对应关系更新为新建立绑定关系,能够防止在集群扩容时,客户端长时间无法访问集群的问题,提高了集群服务器运维的效率。
可选的,响应于下架操作指令,对所述集群更新前的旧Broker节点进行下架操作。
通过采用上述技术方案,响应于下架操作指令,将扩容前的旧Broker节点进行下架操作,即从集群中移除旧Broker节点,能够避免集群服务器维护期间Broker节点无法提供服务,影响系统的正常运行,避免出现数据丢失或系统崩溃的问题,提高了系统的稳定性。
在本申请的第二方面提供了一种集中管理Kafka的方法的系统,包括:
数据接收模块,用于接收所述客户端发送的请求信息,识别所述请求信息确定所述请求信息对应的任务类型;
节点获取模块,用于根据预设检测算法,得到所述任务类型对应集群中的节点;
信息转发模块,用于将所述请求信息转发给所述集群中的节点;
数据返回模块,用于接收所述集群中的节点响应于所述请求信息返回的元数据;
访问建立模块,用于将所述元数据返回给所述客户端以建立所述客户端和集群之间的访问连接。
在本申请的第三方面提供了一种电子设备。
一种集中管理Kafka的方法的系统,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序,该程序能够被处理器加载执行时实现一种集中管理Kafka的方法。
在本申请的第四方面提供了一种计算机可读存储介质
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现一种集中管理Kafka的方法。
综上所述,本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、本申请通过获取网关服务器地址,然后将客户端连接地址配置为网关服务器地址,连接网关服务器后会发起Metadata请求,然后由网关服务器接受到请求之后根据用户与集群的绑定关系将Metadata请求转发到集群中,集群接受到Metadata请求并将元数据返回给网关服务器,然后由网关服务器将该元数据返回给客户端,最后客户端根据该元数据与Kafka集群进行正常访问以及执行后续操作,能够通过网关服务器实现客户端与集群的隔离,提高对集群服务器运维的效率。
2、本申请接收用户端发送的请求并转发给集群,然后接收集群返回的元数据并发送给客户端,能够实现客户端与集群服务器的隔离,降低集群运维对客户端的影响。
3、本申请通过设置ip地址白名单,能够有效过滤陌生客户端访问集群的操作,提高了集群的安全性。
附图说明
图1是本申请实施例提供的一种集中管理Kafka的方法的流程示意图。
图2是本申请实施例提供的一种集中管理Kafka的方法的节点获取流程示意图。
图3是本申请实施例公开的一种集中管理Kafka方法的系统结构示意图。
图4是本申请实施例的公开的一种电子设备的结构示意图。
附图标记说明:301、数据接收模块;302、节点获取模块;303、信息转发模块;304、数据返回模块;305、访问建立模块;400、电子设备;401、处理器;402、存储器;403、用户接口;404、网络接口;405、通信总线。
具体实施方式
为了使本领域的技术人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
在本申请实施例的描述中,“例如”或者“举例来说”等词用于表示作例子、例证或说明。本申请实施例中被描述为“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,术语“多个”的含义是指两个或两个以上。例如,多个系统是指两个或两个以上的系统,多个屏幕终端是指两个或两个以上的屏幕终端。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了便于理解本申请实施例提供的方法及系统,在介绍本申请实施例之前,先对本申请实施例的背景进行介绍。
目前,在传统的集群管理方式中,用户在访问集群时会直连集群地址,如果集群侧发生扩容缩容会导致客户端访问地址发生变化,如果客户端所连的地址全部发生变化会导致客户端无法访问到集群,往往由于上下游用户数量非常多,导致整个处理的周期很长。
本申请实施例公开了一种集中管理Kafka的方法,通过将客户端连接地址配置为预设网关服务器地址,并通过该预设网关服务器将用户发出的请求信息转发给集群,然后返回集群发出的元数据,集中建立客户端和集群之间的访问,主要用于解决客户端直连集群,导致整个迁移机器的周期长的问题。
经过上述背景内容相关介绍,本领域技术人员可以了解现有技术中存在的问题,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细的描述,描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
参照图1,一种集中管理Kafka的方法,该方法包括S10至S30,具体包括以下步骤:
在接收客户端请求信息之前,还存在预设网关服务器配置过程,具体步骤包括S01至S02:
S01:获取预设网关服务器地址。
具体的,系统发出读取预设网关服务器地址的指令,Gateway响应于该指令,即预设网关服务器响应于该指令将工作人员预设置的网关服务器ip地址发送给系统。
在上述实施例的基础上,还存在部署预设网关服务器的过程,具体步骤包括:
示例性地,网关服务器通过预设Kafka命令行工具调取集群地址信息,该集群为Kafaka集群,Kafka集群是一种分布式消息队列系统,可以实现高吞吐量、低延迟的消息传递,Kafka集群是指由多个Kafka节点,即Broker节点组成的集合体,用于处理消息的存储和传递。然后根据该集群地址信息,确定集群中的Broker节点、对应的IP地址、端口等信息,之后系统创建一个初始配置文件,将该集群地址信息输入该初始配置文件中,得到预设配置文件。通过该预设配置文件配置网关服务器参数,使得该网关服务器能够将客户端发送的请求转发给集群。
S02:将客户端连接地址配置为预设网关服务器地址,并根据预设网关服务器地址连接客户端和预设网关服务器。
具体的,为了实现了客户端与集群的隔离,且集群的部署在发生变化时,客户端能够正常访问集群并无法感知集群的变化。系统调取数据库中客户端连接地址信息,并将该客户端连接地址信息配置为预设网关服务器的地址,使得客户端直连该预设网关服务器,在客户端发出请求时,会直接将该请求发送给预设网关服务器处理和管理。
S10:接收客户端发送的请求信息,识别请求信息确定请求信息对应的任务类型;根据预设检测算法,得到任务类型对应集群中的节点;将请求信息转发给集群中的节点。
具体的,客户端通过HTTP或其他协议,向该预设网关服务器发送请求并访问Kafka集群。例如,使用API网关服务器时,客户端发送HTTP POST请求来向Kafka集群中写入消息,或者发送HTTP GET请求来从Kafka集群中读取消息。网关服务器通过该预设网关服务器将客户端发送的请求信息转发给集群。
参照图2,具体步骤可以包括S11至S14:
S11:接收客户端发出的Metadata请求。
示例性地,其中,Metadata请求是Kafka客户端用于获取Kafka集群的元数据信息的请求。客户端发送的请求会先到达Gateway,然后由Gateway将请求转发到Kafka集群中的任意一个Broker节点。在这个过程中,Gateway扮演了转发器的角色,将客户端的请求转发到Kafka集群中的任意一个Broker节点,并将响应返回给客户端。这种方式可以提高Kafka集群的可伸缩性和可用性,因为客户端可以直接访问Gateway,而不需要知道Kafka集群中的具体节点信息。
S12:检测客户端对应的身份信息和ACL授权信息。
示例性地,其中,客户端身份信息是指客户端在访问Kafka集群时所使用的身份标识,通常包括用户名、访问ip地址和密码等信息。在Kafka中,使用客户端身份信息可以实现对Kafka集群的访问控制,例如限制用户对Topic的读写权限等。ACL授权信息是指Kafka集群中配置的访问控制列表(ACL),用于限制用户对集群中的资源(例如Topic、ConsumerGroup等)进行读写的权限。ACL授权信息包括用户的ACL权限、Topic的ACL权限等。
客户端身份信息需要与Kafka集群中的ACL授权信息匹配,才能访问Kafka集群。客户端的ACL授权信息可通过在Kafka集群中预置的配置文件,在该配置文件输入客户端身份信息并指定ACL授权信息,或通过Kafka提供的命令行工具来配置ACL授权信息,例如:使用kafka-acls.sh命令行工具添加一个Topic的ACL权限,指定给用户alice。当客户端发出请求信息后,网关服务器通过预设认证算法识别该客户端对应的身份信息和ACL授权信息,例如通过SASL算法验证客户端对应的身份信息和ACL授权信息,达到保护Kafka集群安全性的效果。
在本申请一种优选的实施例中,系统在获取客户端的身份信息后,会提取该身份信息中的客户端ip地址,并查询预设ip地址白名单中是否存在该客户端的ip地址,如果在预设ip地址白名单中未查询到该客户端的ip地址,则会限制该客户端的访问权限,如果在预设ip地址白名单中查询到该客户端的ip地址,则会授予该客户端访问对应Broker节点的权限。
S13:根据身份信息和ACL授权信息,确定客户端与集群的绑定关系,集群包括多个Broker节点。
示例性地,在Kafka集群中,可以通过查看ACL授权信息来确定客户端与Kafka集群的绑定关系,且在该Kafka集群中包括多个Broker节点,Broker节点是指运行Kafka服务器的节点,也就是Kafka集群中的一个节点。每个Broker节点都负责存储和处理一部分的消息数据,并与其他Broker节点协同工作,以实现Kafka集群的高可用性和可扩展性。
系统在得到客户端对应的身份信息和ACL授权信息后,会查看Kafka集群中指定Topic的ACL信息。例如:网关服务器通过预设kafka-acls.sh命令行工具发送查询指令,Kafka集群响应于该查询指令返回所有被授权访问my-topic的用户或客户端的身份信息。如果某个客户端的身份信息被列在ACL授权信息中,并且具有访问my-topic 的权限,那么就可以得到该客户端与Kafka集群的绑定关系。该ACL授权信息包括了哪些用户或客户端可以访问Kafka集群、可以访问哪些Topic以及可以执行哪些操作等信息。因此,可以通过查看ACL授权信息,来确定客户端是否具有与Kafka集群的绑定关系。
S14:根据绑定关系和预设负载均衡算法,得到绑定关系对应的Broker节点;将Metadata请求转发给集群对应的Broker节点。
示例性地,当客户端连接到Kafka集群时,客户端会首先向Zookeeper发送请求,获取可用的Broker节点列表。之后,网关服务器根据客户端和Kafka集群的绑定关系,查询所有可用的Broker节点,具体过程包括:系统在确定客户端具有访问Kafka集群的权限后,会通过预设负载均衡算法,例如,一致性哈希算法,根据请求信息内容的哈希值,在Broker节点列表中选择一个可用的节点进行连接,该预设负载均衡算法可以平衡Broker节点的负载,并且可以在Broker节点的动态变化时,自动重新分配消息的存储和处理负载,以实现系统的高可用性和可扩展性。在选取可用的Broker节点之后,网关服务器通过Gateway将客户端发送的Metadata请求转发至该可用的Broker节点。
S20:接收集群中的节点响应于请求信息返回的元数据。
具体的,其中,元数据是指描述Kafka集群中Topic和分区的信息,包括了Topic和分区的名称、分区数量、副本数量以及每个副本所在的Broker节点信息等。元数据信息可以帮助客户端在连接Kafka集群时获取相关信息,以便进行读写操作。Kafka集群中的每个Broker节点都维护着一份完整的元数据信息,包括了所有Topic和分区的相关信息。当客户端连接到Kafka集群时,客户端可以向任意一个Broker节点发送元数据请求,获取Kafka集群的元数据信息。
Kafka集群中的Broker节点在接收到客户端发送的Metadata请求信息后,会通过预设合并算法,例如现有哈希算法,将所有的Topic和分区信息封装成元数据,并将包含该元数据的返回消息发送给Gateway,然后网关服务器通过Gateway将该返回消息转发给客户端。Kafka集群中的每个Broker节点都会定期更新自己维护的元数据信息,并将更新后的信息发送给其他Broker节点,从而保证元数据的一致性和准确性。
S30:将元数据返回给客户端以建立客户端和集群之间的访问连接。
具体的,客户端在接收到Kafka集群返回消息中的元数据之后,读取该元数据中的信息,从而确定连接的Broker节点和分区Leader节点的信息。客户端可通过Gateway连接Kafka集群执行消息生产、消费等操作,例如:对于消息生产操作,客户端将消息发送到分区Leader节点,分区Leader节点会将消息写入日志,并将消息复制到其它副本节点。对于消息消费操作,客户端向分区Leader节点发送拉取消息请求,请求获取指定分区的消息,该Leader节点用于负责处理该Leader节点对应分区的所有数据读写请求,并将写入的消息复制到其它副本节点,以实现数据的冗余和高可用性。
在上述实施例的基础上,还存在Kafka集群节点发生迁移后的处理过程,具体步骤包括:
示例性地,由于业务的不断扩张导致机房的容量容纳不下满足需求的服务器,则工作人员需要对机房功能进行分配,按照不同的业务类型分配不同的机房,从而使得Kafka集群的服务器需要进行搬迁,因此需要更新客户端访问的Kafka集群地址。例如,工作人员将Kafka集群的服务器从机房A迁移到机房B并在机房B对Kafka集群服务器进行扩容,在完成扩容之后,网关服务器将Kafka集群中的Topic迁移到新的节点上,然后修改客户端与Kafka集群的绑定关系,并将用户所访问的Kafka集群地址更新为新的节点地址,然后对机房A中Kafka集群的Broker节点做下架操作,该下架操作通常在进行硬件维护、软件升级或节点替换等情况下使用,以保证Kafka集群的稳定性和可用性,该下架操作具体包括:确定机房A中Kafka集群对应的所有Broker节点,然后停止该Broker节点服务,并将该Broker节点从Kafka集群中移除,完成移除操作之后,更新Kafka集群的元数据信息,以反映下架节点的移除。
下述为本申请的系统实施例,可以用于执行本申请方法实施例。对于本申请平台实施例中未披露的细节,参照本申请方法实施例。
参照图3,为本申请实施例提供的一种集中管理Kafka的方法的系统,该系统包括:数据接收模块301、节点获取模块302、信息转发模块303,数据返回模块304、访问建立模块305,其中:
数据接收模块301,用于接收客户端发送的请求信息,识别请求信息确定请求信息对应的任务类型;
节点获取模块302,用于根据预设检测算法,得到任务类型对应集群中的节点;
信息转发模块303,用于将请求信息转发给集群中的节点;
数据返回模块304,用于接收集群中的节点响应于请求信息返回的元数据;
访问建立模块305,用于将元数据返回给客户端以建立客户端和集群之间的访问连接。
需要说明的是:上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置和方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请还公开一种电子设备。参照图4,图4是本申请实施例的公开的一种电子设备的结构示意图。该电子设备400可以包括:至少一个处理器401,至少一个网络接口404,用户接口403,存储器402,至少一个通信总线405。
其中,通信总线405用于实现这些组件之间的连接通信。
其中,用户接口403可以包括显示屏(Display)、摄像头(Camera),可选用户接口403还可以包括标准的有线接口、无线接口。
其中,网络接口404可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器401可以包括一个或者多个处理核心。处理器401利用各种接口和线路连接整个服务器内的各个部分,通过运行或执行存储在存储器402内的指令、程序、代码集或指令集,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据。可选的,处理器401可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器401可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面图和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器401中,单独通过一块芯片进行实现。
其中,存储器402可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器402包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器402可用于存储指令、程序、代码、代码集或指令集。存储器402可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及的数据等。存储器402可选的还可以是至少一个位于远离前述处理器401的存储装置。参照图4,作为一种计算机存储介质的存储器402中可以包括操作系统、网络通信模块、用户接口模块以及一种集中管理Kafka的方法的应用程序。
在图4所示的电子设备400中,用户接口403主要用于为用户提供输入的接口,获取用户输入的数据;而处理器401可以用于调用存储器402中存储一种集中管理Kafka的方法的应用程序,当由一个或多个处理器401执行时,使得电子设备400执行如上述实施例中一个或多个所述的方法。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必需的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几种实施方式中,应该理解到,所披露的装置,可通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其他的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储器包括:U盘、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践真理的公开后,将容易想到本公开的其他实施方案。
本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
Claims (10)
1.一种集中管理Kafka的方法,运用于网关服务器服务器,其特征在于,包括:
接收所述客户端发送的请求信息,识别所述请求信息确定所述请求信息对应的任务类型;
根据预设检测算法,得到所述任务类型对应集群中的节点;
将所述请求信息转发给所述集群中的节点;
接收所述集群中的节点响应于所述请求信息返回的元数据;
将所述元数据返回给所述客户端以建立所述客户端和集群之间的访问连接。
2.根据权利要求1所述的一种集中管理Kafka的方法,其特征在于,所述接收所述客户端发送的请求信息之前,还包括:
根据所述集群的地址信息,通过预设配置文件配置Gateway参数,所述参数包括网络配置、路由规则、安全配置、预设网关服务器地址;
将所述客户端地址配置为所述预设网关服务器地址。
3.根据权利要求1所述的一种集中管理Kafka的方法,其特征在于,所述将所述请求信息转发给所述集群中的节点之后,还包括:
接收所述客户端发出的Metadata请求;
检测所述客户端对应的身份信息和ACL授权信息;
根据所述身份信息和ACL授权信息,确定所述客户端与所述集群的绑定关系,所述集群包括多个Broker节点;
根据所述绑定关系和预设负载均衡算法,得到所述绑定关系对应的Broker节点;
将所述Metadata请求转发给所述集群对应的Broker节点。
4.根据权利要求3所述的一种集中管理Kafka的方法,其特征在于,所述 检测所述客户端对应的身份信息和ACL授权信息之后,还包括:
提取所述身份信息中的客户端ip地址;
判断预设ip地址白名单中是否存在所述客户端ip地址;
若是,则开启所述客户端访问所述Broker节点对应的权限;
若否,则限制所述客户端的访问权限。
5.根据权利要求1所述的一种集中管理Kafka的方法,其特征在于,所述元数据由Broker节点根据预设合并算法将所述集群对应的Topic和分区信息封装为元数据并发送给所述预设网关服务器。
6.根据权利要求5所述的一种集中管理Kafka的方法,其特征在于,所述将所述元数据返回给所述客户端之后,还包括:
响应于绑定关系修改请求,根据所述绑定关系修改请求中的修改请求信息对任务类型与所述集群中的节点之间的对应关系进行修改。
7.根据权利要求6所述的一种集中管理Kafka的方法,其特征在于,所述将所述客户端访问的所述集群对应地址更新为所述新的Broker节点对应地址之后,还包括:
响应于下架操作指令,对所述集群更新前的旧Broker节点进行下架操作。
8.一种基于权利要求1-7的集中管理Kafka方法的系统,其特征在于,所述系统包括:
数据接收模块(301),用于接收所述客户端发送的请求信息,识别所述请求信息确定所述请求信息对应的任务类型;
节点获取模块(302),用于根据预设检测算法,得到所述任务类型对应集群中的节点;
信息转发模块(303),用于将所述请求信息转发给所述集群中的节点;
数据返回模块(304),用于接收所述集群中的节点响应于所述请求信息返回的元数据;
访问建立模块(305),用于将所述元数据返回给所述客户端以建立所述客户端和集群之间的访问连接。
9.一种电子设备,其特征在于,包括处理器(401)、存储器(402)、用户接口(403)及网络接口(404),所述存储器(402)用于存储指令,所述用户接口(403)和网络接口(404)用于给其他设备通信,所述处理器(401)用于执行所述存储器(402)中存储的指令,以使所述电子设备(400)执行如权利要求1-7任意一项所述的一种集中管理Kafka的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,执行如权利要求1-7任意一项所述的一种集中管理Kafka的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310932497.XA CN117097781A (zh) | 2023-07-26 | 2023-07-26 | 一种集中管理Kafka的方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310932497.XA CN117097781A (zh) | 2023-07-26 | 2023-07-26 | 一种集中管理Kafka的方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117097781A true CN117097781A (zh) | 2023-11-21 |
Family
ID=88782736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310932497.XA Pending CN117097781A (zh) | 2023-07-26 | 2023-07-26 | 一种集中管理Kafka的方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117097781A (zh) |
-
2023
- 2023-07-26 CN CN202310932497.XA patent/CN117097781A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9971823B2 (en) | Dynamic replica failure detection and healing | |
US9729666B2 (en) | Large scale storage system and method of operating thereof | |
EP3432549B1 (en) | Method and apparatus for processing user requests | |
US9015177B2 (en) | Dynamically splitting multi-tenant databases | |
US8296267B2 (en) | Upgrade of highly available farm server groups | |
WO2019210580A1 (zh) | 访问请求处理方法、装置、计算机设备和存储介质 | |
CN112364110A (zh) | 元数据管理方法、装置、设备及计算机存储介质 | |
US20220027192A1 (en) | Self-Evolving Microservices | |
JP5352367B2 (ja) | 仮想マシン起動端末および仮想マシン起動プログラム | |
US8832215B2 (en) | Load-balancing in replication engine of directory server | |
CN112882792B (zh) | 信息加载方法、计算机设备及存储介质 | |
CN113810230A (zh) | 对容器集群中的容器进行网络配置的方法、装置及系统 | |
US11531526B1 (en) | Creating portable serverless applications | |
JP2017041015A (ja) | 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム | |
CN107992491A (zh) | 一种分布式文件系统、数据访问和数据存储的方法及装置 | |
CN116800825A (zh) | 一种基于微服务拆分的调用方法、装置、设备及介质 | |
CN113986539A (zh) | 实现pod固定IP的方法、装置、电子设备和可读存储介质 | |
US11494184B1 (en) | Creation of transportability container files for serverless applications | |
CN111600755B (zh) | 上网行为管理系统和方法 | |
CN115470303B (zh) | 一种数据库访问方法、装置、系统、设备及可读存储介质 | |
CN114884955B (zh) | 透明代理部署系统和方法 | |
CN117097781A (zh) | 一种集中管理Kafka的方法、系统、电子设备及存储介质 | |
CN115774700A (zh) | 文件共享方法、装置、计算机设备及存储介质 | |
US11513833B1 (en) | Event listener interface for container-based execution of serverless functions | |
CN115185637A (zh) | PaaS组件管理端和虚拟机代理的通信方法及装置 |
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 |