CN111049899A - kafka消息存储系统、方法、装置及计算机可读存储介质 - Google Patents

kafka消息存储系统、方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN111049899A
CN111049899A CN201911264838.0A CN201911264838A CN111049899A CN 111049899 A CN111049899 A CN 111049899A CN 201911264838 A CN201911264838 A CN 201911264838A CN 111049899 A CN111049899 A CN 111049899A
Authority
CN
China
Prior art keywords
kafka
message
data transmission
data
processing server
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
Application number
CN201911264838.0A
Other languages
English (en)
Other versions
CN111049899B (zh
Inventor
杨森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seashell Housing Beijing Technology Co Ltd
Original Assignee
Beike Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beike Technology Co Ltd filed Critical Beike Technology Co Ltd
Priority to CN201911264838.0A priority Critical patent/CN111049899B/zh
Publication of CN111049899A publication Critical patent/CN111049899A/zh
Application granted granted Critical
Publication of CN111049899B publication Critical patent/CN111049899B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开的实施例公开了一种kafka消息存储系统、方法、装置及计算机可读存储介质。该系统包括:kafka消息生产端、网页服务器、消息处理服务器和至少一个kafka集群;其中,kafka消息生产端,用于生成网页服务器支持的kafka消息存储请求报文,并将kafka消息存储请求报文发送给网页服务器;网页服务器,用于将kafka消息存储请求报文转发给消息处理服务器;消息处理服务器,用于根据kafka消息存储请求报文,向至少一个kafka集群中的第一kafka集群中存储相应kafka消息。与现有技术相比,本公开的实施例中,kafka消息的存储实现起来非常便捷,且能够摆脱必须安装特定扩展包的限制。

Description

kafka消息存储系统、方法、装置及计算机可读存储介质
技术领域
本公开涉及消息处理技术领域,尤其涉及一种kafka消息存储系统、方法、装置及计算机可读存储介质。
背景技术
一般而言,在kafka(卡夫卡)消息生产端生成kafka消息之后,需要将kafka消息存储至kafka集群;其中,kafka是一个分布式的、可分区的、可复制的消息系统。为了实现kafka消息的存储,需要根据kafka消息生产端采用的开发语言,在kafka消息生产端安装特定的扩展包,这样实施起来不够便捷,且会对kafka消息的存储造成一定的限制。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种kafka消息存储系统、方法、装置及计算机可读存储介质。
根据本公开的实施例的第一个方面,提供了一种kafka消息存储系统,包括:kafka消息生产端、网页服务器、消息处理服务器和至少一个kafka集群;其中,
所述kafka消息生产端,用于生成所述网页服务器支持的kafka消息存储请求报文,并将所述kafka消息存储请求报文发送给所述网页服务器;
所述网页服务器,用于将所述kafka消息存储请求报文转发给所述消息处理服务器;
所述消息处理服务器,用于根据所述kafka消息存储请求报文,向所述至少一个kafka集群中的第一kafka集群中存储相应kafka消息。
在一个可选示例中,所述消息处理服务器用于管理多个kafka数据发送微服务,每一kafka数据发送微服务为:一个数据发送服务器;或者,所述消息处理服务器上的一个数据发送子进程;
所述消息处理服务器,还用于利用负载均衡算法,从所述多个kafka数据发送微服务中,选择一个kafka数据发送微服务;
所述消息处理服务器,具体用于通过所选择的kafka数据发送微服务,向所述至少一个kafka集群中的第一kafka集群中存储相应kafka消息。
在一个可选示例中,
所述消息处理服务器,还用于监测每个kafka数据发送微服务的状态,确定所述多个kafka数据发送微服务中,所对应状态为可用状态的kafka数据发送微服务;
所述消息处理服务器,具体用于利用负载均衡算法,从所对应状态为可用状态的kafka数据发送微服务中,选择一个kafka数据发送微服务。
在一个可选示例中,
所述网页服务器,还用于从所述kafka消息存储请求报文中,获取有效报文数据和校验数据,利用所述校验数据,对所述有效报文数据进行数据校验;其中,所述有效报文数据包括待存储的kafka消息、第一指示信息和第二指示信息,所述第一指示信息用于指示所述待存储的kafka消息待存储至的第一kafka集群,所述第二指示信息用于指示所述待存储的kafka消息在所述第一kafka集群中的存储位置;
所述网页服务器,具体用于在数据验证通过的情况下,将所述kafka消息存储请求报文转发给所述消息处理服务器。
在一个可选示例中,
所述消息处理服务器,还用于接收所述第一kafka集群返回的kafka消息存储响应报文,并将所述kafka消息存储响应报文发送给所述网页服务器;
所述网页服务器,还用于将所述kafka消息存储响应报文转发给所述kafka消息生产端。
根据本公开的实施例的第二个方面,提供了一种kafka消息存储方法,应用于kafka消息生产端,所述方法包括:
生成所述kafka消息生产端所在的kafka消息存储系统中的网页服务器支持的kafka消息存储请求报文;
将所述kafka消息存储请求报文发送给所述网页服务器。
根据本公开的实施例的第三个方面,提供了一种kafka消息存储方法,应用于网页服务器,所述方法包括:
接收所述网页服务器所在的kafka消息存储系统中的kafka消息生产端发送的kafka消息存储请求报文;
将所述kafka消息存储请求报文转发给所述kafka消息存储系统中的消息处理服务器。
在一个可选示例中,所述接收所述网页服务器所在的kafka消息存储系统中的kafka消息生产端发送的kafka消息存储请求报文之后,所述方法还包括:
从所述kafka消息存储请求报文中,获取有效报文数据和校验数据;其中,所述有效报文数据包括待存储的kafka消息、第一指示信息和第二指示信息,所述第一指示信息用于指示所述待存储的kafka消息待存储至的第一kafka集群,所述第一指示信息用于指示所述待存储的kafka消息在所述第一kafka集群中的存储位置;
利用所述校验数据,对所述有效报文数据进行数据校验;
在数据验证通过的情况下,执行所述将所述kafka消息存储请求报文转发给所述kafka消息存储系统中的消息处理服务器的步骤。
在一个可选示例中,所述将所述kafka消息存储请求报文转发给所述kafka消息存储系统中的消息处理服务器之后,所述方法还包括:
接收所述消息处理服务器发送的kafka消息存储响应报文;
将所述kafka消息存储响应报文转发给所述kafka消息生产端。
根据本公开的实施例的第四个方面,提供了一种kafka消息存储方法,应用于消息处理服务器,所述方法包括:
接收所述消息处理服务器所在的kafka消息存储系统中的网页服务器转发的kafka消息存储请求报文;
根据所述kafka消息存储请求报文,向所述kafka消息存储系统包括的至少一个kafka集群中的第一kafka集群中存储相应kafka消息。
在一个可选示例中,所述消息处理服务器用于管理多个kafka数据发送微服务,每一kafka数据发送微服务为:一个数据发送服务器;或者,所述消息处理服务器上的一个数据发送子进程;
所述根据所述kafka消息存储请求报文,向所述kafka消息存储系统包括的至少一个kafka集群中的第一kafka集群中存储相应kafka消息,包括:
利用负载均衡算法,从所述多个kafka数据发送微服务中,选择一个kafka数据发送微服务;
通过所选择的kafka数据发送微服务,向所述kafka消息存储系统包括的至少一个kafka集群中的第一kafka集群中存储相应kafka消息。
在一个可选示例中,
所述利用负载均衡算法,从所述多个kafka数据发送微服务中,选择一个kafka数据发送微服务之前,所述方法还包括:
监测每个kafka数据发送微服务的状态;
确定所述多个kafka数据发送微服务中,所对应状态为可用状态的kafka数据发送微服务;
所述利用负载均衡算法,从所述多个kafka数据发送微服务中,选择一个kafka数据发送微服务,包括:
利用负载均衡算法,从所对应状态为可用状态的kafka数据发送微服务中,选择一个kafka数据发送微服务。
在一个可选示例中,所述方法还包括:
接收所述第一kafka集群返回的kafka消息存储响应报文;
将所述kafka消息存储响应报文转发给所述网页服务器。
根据本公开的实施例的第五个方面,提供了一种kafka消息存储装置,应用于kafka消息生产端,所述装置包括:
生成模块,用于生成所述kafka消息生产端所在的kafka消息存储系统中的网页服务器支持的kafka消息存储请求报文;
发送模块,用于将所述kafka消息存储请求报文发送给所述网页服务器。
根据本公开的实施例的第六个方面,提供了一种kafka消息存储装置,应用于网页服务器,所述装置包括:
第一接收模块,用于接收所述网页服务器所在的kafka消息存储系统中的kafka消息生产端发送的kafka消息存储请求报文;
第一转发模块,用于将所述kafka消息存储请求报文转发给所述kafka消息存储系统中的消息处理服务器。
在一个可选示例中,所述装置还包括:
获取模块,用于在接收所述网页服务器所在的kafka消息存储系统中的kafka消息生产端发送的kafka消息存储请求报文之后,从所述kafka消息存储请求报文中,获取有效报文数据和校验数据;其中,所述有效报文数据包括待存储的kafka消息、第一指示信息和第二指示信息,所述第一指示信息用于指示所述待存储的kafka消息待存储至的第一kafka集群,所述第二指示信息用于指示所述待存储的kafka消息在所述第一kafka集群中的存储位置;
校验模块,用于利用所述校验数据,对所述有效报文数据进行数据校验;
触发模块,用于在数据验证通过的情况下,触发所述第一转发模块。
在一个可选示例中,所述装置还包括:
第二接收模块,用于在所述将所述kafka消息存储请求报文转发给所述kafka消息存储系统中的消息处理服务器之后,接收所述消息处理服务器发送的kafka消息存储响应报文;
第二转发模块,用于将所述kafka消息存储响应报文转发给所述kafka消息生产端。
根据本公开的实施例的第七个方面,提供了一种kafka消息存储装置,应用于消息处理服务器,所述装置包括:
第三接收模块,用于接收所述消息处理服务器所在的kafka消息存储系统中的网页服务器转发的kafka消息存储请求报文;
存储模块,用于根据所述kafka消息存储请求报文,向所述kafka消息存储系统包括的至少一个kafka集群中的第一kafka集群中存储相应kafka消息。
在一个可选示例中,所述消息处理服务器用于管理多个kafka数据发送微服务,每一kafka数据发送微服务为:一个数据发送服务器;或者,所述消息处理服务器上的一个数据发送子进程;
所述存储模块,包括:
选择单元,用于利用负载均衡算法,从所述多个kafka数据发送微服务中,选择一个kafka数据发送微服务;
发送单元,用于通过所选择的kafka数据发送微服务,向所述kafka消息存储系统包括的至少一个kafka集群中的第一kafka集群中存储相应kafka消息。
在一个可选示例中,所述装置包括:
监测模块,用于在利用负载均衡算法,从所述多个kafka数据发送微服务中,选择一个kafka数据发送微服务之前,监测每个kafka数据发送微服务的状态;
确定模块,用于确定所述多个kafka数据发送微服务中,所对应状态为可用状态的kafka数据发送微服务;
所述选择单元,具体用于:
利用负载均衡算法,从所对应状态为可用状态的kafka数据发送微服务中,选择一个kafka数据发送微服务。
在一个可选示例中,所述装置还包括:
第四接收模块,用于接收所述第一kafka集群返回的kafka消息存储响应报文;
转发模块,用于将所述kafka消息存储响应报文转发给所述网页服务器。
根据本公开的实施例的第八个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述第二方面至第四方面提供的任一kafka消息存储方法。
根据本公开的实施例的第九个方面,提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述第二方面至第四方面提供的任一kafka消息存储方法。
本公开的实施例中,为了实现kafka消息的存储,kafka消息生产端可以生成网页服务器支持的kafka消息存储请求报文,并将该报文发送给网页服务器。接下来,网页服务器可以将kafka消息存储请求报文转发给消息处理服务器,消息处理服务器可以根据kafka消息存储请求报文,向至少一个kafka集群中的第一kafka集群中存储相应kafka消息,从而实现kafka消息的存储。可见,本公开的实施例中,在kafka消息生产端与网页服务器之间能够正常交互的情况下,可以利用网页服务器和消息处理服务器,实现kafka消息的存储,也即,本公开的实施例无需根据kafka消息生产端使用的开发语言,在kafka消息生产端安装特定的扩展包即可实现kafka消息的存储,因此,与现有技术相比,本公开的实施例中,kafka消息的存储实现起来非常便捷,且能够摆脱必须安装特定扩展包的限制。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开的实施例提供的一种kafka消息存储系统的结构示意图;
图2为本公开的实施例提供的一种kafka消息存储系统的工作原理图;
图3为本公开的实施例提供的一种kafka消息存储方法的流程图;
图4为本公开的实施例提供的另一种kafka消息存储方法的流程图;
图5为本公开的实施例提供的再一种kafka消息存储方法的流程图;
图6为本公开的实施例提供的一种kafka消息存储装置的结构框图;
图7为本公开的实施例提供的另一种kafka消息存储装置的结构框图;
图8为本公开的实施例提供的再一种kafka消息存储装置的结构框图;
图9为本公开的实施例提供的一种电子设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
示例性系统
参见图1,图中示出了本公开的实施例提供的kafka消息存储系统的结构示意图。如图1所示,该系统包括:kafka消息生产端12、网页服务器14、消息处理服务器16和至少一个kafka集群18。
这里,网页服务器14也可以称为WEB服务器或者WEB服务端。
这里,kafka集群18的数量可以为一个、两个、三个、四个或者四个以上,在此不再一一列举。一般而言,每个kafka集群18中均包括至少两台用于存储kafka信息的服务器,并且,每个kafka集群18中,一台服务器作为主服务器,其余服务器作为从服务器。
kafka消息生产端12,用于生成网页服务器14支持的kafka消息存储请求报文,并将kafka消息存储请求报文发送给网页服务器14。
这里,网页服务器14支持kafka消息存储请求报文是指:网页服务器14能够识别并处理kafka消息存储请求报文。为了使网页服务器14支持kafka消息存储请求报文,kafka消息存储请求报文具体可以为超文本传输协议(Hyper Text Transport Protocol,Http)请求报文。
目前,常用的发送Http请求报文的方式有多种,例如,可以基于超文本预处理语言(Hypertext Preprocessor,PHP)的post发送方式(该方式可以使用到PHP内置的curl扩展包),实现Http请求报文的发送;再例如,可以基于node.js的post发送方式(该方式可以使用到request扩展包),实现Http请求报文的发送;其中,node.js也可以称为运行于服务端的JavaScript解释器,JavaScript是一种直译式脚本语言。具体实施时,kafka消息生产端12可以采用上述任一种post发送方式,将kafka消息存储请求报文发送给网页服务器14。
可选地,如图2所示,在进行kafka消息存储请求报文的发送之前,kafka消息生产端12可以通过域名系统(Domain Name System,DNS)的解析操作,查找到网页服务器14的网络协议(Internet Protocol,IP)地址,并与网页服务器14进行三次握手。在握手成功的情况下,kafka消息生产端12可以与网页服务器14建立连接,例如建立传输控制协议(Transmission Control Protocol,TCP连接)。之后,kafka消息生产端12可以通过建立好的连接,将kafka消息存储请求报文发送给网页服务器14。
网页服务器14,用于将kafka消息存储请求报文转发给消息处理服务器16。
这里,网页服务器14可以开启一个报文处理子进程,以通过该报文处理子进程,接收到来自kafka消息生产端12的kafka消息存储请求报文。之后,网页服务器14可以将kafka消息存储请求报文转换为protobuf格式,并通过报文处理子进程,将转换后的kafka消息存储请求报文发送给消息处理服务器16。
可以理解的是,protobuf是Protocol Buffers的简称,它是谷歌公司开发的一种数据描述语言,用于描述一种轻便高效的结构化数据存储格式,protobuf格式的数据具有加密性好、压缩比高等优点,例如,protobuf格式的数据的压缩比是JS对象简谱(JavaScript Object Notation,JSON)格式的数据的1/10,protobuf格式的数据的压缩比是可扩展标记语言(eXtensible Markup Language,XML)格式的数据的1/20。这样,通过对kafka消息存储请求报文的格式转换,可以提升数据吞吐量,减少占用的带宽。
当然,在接收到来自kafka消息生产端12的kafka消息存储请求报文之后,也可以将kafka消息存储请求报文转换为网页服务器14能够识别的其他格式,在此不再一一列举。
消息处理服务器16,用于根据kafka消息存储请求报文,向至少一个kafka集群18中的第一kafka集群中存储相应kafka消息。
这里,kafka消息存储请求报文可以携带待存储的kafka消息,以及消息存储策略,具体地,该消息存储策略可以至少指示将待存储的kafka消息存储至哪个kafka集群18(其具体为第一kafka集群)。这样,依据kafka消息存储请求报文,消息处理服务器16即可便捷地将待存储的kafka消息存储至第一kafka集群中。
本公开的实施例中,为了实现kafka消息的存储,kafka消息生产端12可以生成网页服务器14支持的kafka消息存储请求报文,并将该报文发送给网页服务器14。接下来,网页服务器14可以将kafka消息存储请求报文转发给消息处理服务器16,消息处理服务器16可以根据kafka消息存储请求报文,向至少一个kafka集群18中的第一kafka集群中存储相应kafka消息,从而实现kafka消息的存储。可见,本公开的实施例中,在kafka消息生产端12与网页服务器14之间能够正常交互的情况下,可以利用网页服务器14和消息处理服务器16,实现kafka消息的存储,也即,本公开的实施例无需根据kafka消息生产端12使用的开发语言,在kafka消息生产端12安装特定的扩展包即可实现kafka消息的存储,因此,与现有技术相比,本公开的实施例中,kafka消息的存储实现起来非常便捷,且能够摆脱必须安装特定扩展包的限制。
在一个可选示例中,消息处理服务器16用于管理多个kafka数据发送微服务19,每一kafka数据发送微服务19为:一个数据发送服务器;或者,消息处理服务器16上的一个数据发送子进程;
消息处理服务器16,还用于利用负载均衡算法,从多个kafka数据发送微服务19中,选择一个kafka数据发送微服务19;
消息处理服务器16,具体用于通过所选择的kafka数据发送微服务19,向至少一个kafka集群18中的第一kafka集群中存储相应kafka消息。
由于消息处理服务器16管理多个kafka数据发送微服务19,且能够进行kafka数据发送微服务19的选择,消息处理服务器16可以认为是任务调度服务器。具体地,任务调度服务器可以基于raft编写;其中,raft是一致性协议,其是用来保证数据一致性的一种算法。
这里,消息处理服务器16可以采用轮询法、哈希法等负载均衡算法,进行kafka数据发送微服务19的选择。一种具体实施方式中,负载均衡算法的具体实现原理可以为:在某一次从多个kafka数据发送微服务19中,选择一个kafka数据发送微服务19之后,记录所选择的kafka数据发送微服务19的信息(例如IP地址),当下一次选取kafka数据发送微服务19时,跳过所记录的这个kafka数据发送微服务19,选择其他的kafka数据发送微服务19。
在选择出一个kafka数据发送微服务19之后,可以将kafka消息存储请求报文转交给所选择的kafka数据发送微服务19,所选择的kafka数据发送微服务19可以通过对Shopify/sarama组件的调用,向至少一个kafka集群18中的第一kafka集群中存储相应kafka消息。
可见,本公开的实施例中,可以利用负载均衡算法,将不同的kafka消息存储请求报文转发到不同的kafka数据发送微服务19上,以达到负载均衡效果,这样能够实现高并发执行。
在一个可选示例中,
消息处理服务器16,还用于监测每个kafka数据发送微服务19的状态,确定多个kafka数据发送微服务19中,所对应状态为可用状态的kafka数据发送微服务19;
消息处理服务器16,具体用于利用负载均衡算法,从所对应状态为可用状态的kafka数据发送微服务19中,选择一个kafka数据发送微服务19。
在每一kafka数据发送微服务19为一个数据发送服务器的情况下,消息处理服务器16与各kafka数据发送微服务19之间可以定时进行心跳报文的通信,当消息处理服务器16正常接收到来自某一kafka数据发送微服务19的心跳报文的情况下,可以认为该kafka数据发送微服务19处于可用状态;否则,可以认为该kafka数据发送微服务19处于不可用状态。
在每一kafka数据发送微服务19为消息处理服务器16上的一个数据发送子进程的情况下,可以定时检测每一kafka数据发送微服务19是否出现进程假死、异常关闭等异常状况,如果检测到某一kafka数据发送微服务19出现这些异常状况,可以认为该kafka数据发送微服务19处于可用状态;否则,可以认为该kafka数据发送微服务19处于不可用状态。
之后,在进行kafka数据发送微服务19的选择时,可以仅从处于可用状态的kafka数据发送微服务19中,选择kafka数据发送微服务19,这样有利于保证kafka信息的正常存储。
可选地,在确定出任一kafka数据发送微服务19处于不可用状态的情况下,可以输出相应的报警信息,以提示该kafka数据发送微服务19的异常情况。
在一个可选示例中,
网页服务器14,还用于从kafka消息存储请求报文中,获取有效报文数据和校验数据,利用校验数据,对有效报文数据进行数据校验;其中,有效报文数据包括待存储的kafka消息、第一指示信息和第二指示信息,第一指示信息用于指示待存储的kafka消息待存储至的第一kafka集群,第二指示信息用于指示待存储的kafka消息在第一kafka集群中的存储位置;
网页服务器14,具体用于在数据验证通过的情况下,将kafka消息存储请求报文转发给消息处理服务器16。
具体地,kafka消息存储请求报文的请求头中可以包括如下信息:
“POST/kafkasender HTTP/1.1
Host:10.26.28.169
Connection:keep-alive
Content-Length:168
Accept:application/json,text/plain,*/*
Origin:http://10.26.28.169
User-Agent:Mozilla/5.0(Macintosh;Intel Mac OS X 10_14_6)
AppleWebKit/537.36(KHTML,like Gecko)Chrome/77.0.3865.120Safari/537.36
Content-Type:application/x-www-form-urlencoded
Referer:http://10.26.28.169/static/
Accept-Encoding:gzip,deflate
Accept-Language:zh-CN,zh;q=0.9,en;q=0.8
请求参数:
broker=kafka01-test.lianjia.com%3A9092%2Ckafka02-test.lianjia.com%3A9092%2Ckafka03-test.lianjia.com%3A9092&topic=apm_test_0&message=%E6%B5%8B%E8%AF%95%E6%B6%88%E6%81%AF”
在接收到kafka消息存储请求报文之后,可以对kafka消息存储请求报文进行解析,以从请求头中提取三个数据,即:
“kafka01-test.lianjia.com%3A9092%2Ckafka02-test.lianjia.com%3A9092%2Ckafka03-test.lianjia.com%3A9092”(其可以作为第一指示信息);
“apm_test_0”(其可以作为第二指示信息);
“%E6%B5%8B%E8%AF%95%E6%B6%88%E6%81%AF”(其可以作为待存储的kafka消息。
需要说明的是,kafka消息生产端12发出的kafka消息存储请求报文中可以包括校验数据,校验数据可以是kafka消息生产端12在发出kafka消息存储请求报文之前,对kafka消息存储请求报文中的有效数据进行预设的校验运算后得到的;其中,预设的校验运算可以为哈希运算、MD5(即消息摘要算法第五版)运算等。
网页服务器14在接收到kafka消息存储请求报文之后,可以从接收到的kafka消息存储请求报文中提取有效数据和校验数据,并对提取出的有效数据进行预设的校验运算,以得到校验数据。之后,可以将所得到的校验数据与提取出的校验数据进行比较,在比较结果为所得到的校验数据与提取出的校验数据一致的情况下,可以确定数据校验通过;否则,可以确定数据校验不通过。
在数据校验通过的情况下,网页服务器14可以将接收到的kafka消息存储请求报文转发给消息处理服务器16;否则,网页服务器14可以不进行kafka消息存储请求报文的转发。
可见,本公开的实施例中,网页服务器14可以对kafka消息存储请求报文中的数据进行数据校验,例如进行正确性校验、完整性校验等,以保证最终存储的kafka消息的可靠性。
在一个可选示例中,
消息处理服务器16,还用于接收第一kafka集群返回的kafka消息存储响应报文,并将kafka消息存储响应报文发送给网页服务器14;
网页服务器14,还用于将kafka消息存储响应报文转发给kafka消息生产端12。
本公开的实施例中,第一kafka集群可以向消息处理服务器16返回kafka消息存储响应报文,kafka消息存储响应报文可以用于表征kafka消息的存储结果,例如,kafka消息存储响应报文可以包括成功状态码、失败状态码、异常信息等。在网页服务器14将kafka消息存储响应报文转发给kafka消息生产端12之后,kafka消息生产端12能够获知kafka消息的存储结果。
可选地,在网页服务器14对kafka消息存储请求报文中的数据进行数据校验之后,网页服务器14可以给报文处理子进程设定一个超时时间,例如5秒。如果在通过报文处理子进程,将kafka消息存储请求报文发送给消息处理服务器16之后的超时时间内,网页服务器14未接收到响应报文,则可以关闭报文处理子进程。另外,如果kafka消息存储响应报文表征存储异常,也可以关闭报文处理子进程。
在一个可选示例中,如图2所示,kafka消息生产端12可以安装有客户端,例如安装有WEB客户端,这里,可以先进行DNS的解析,以查找到网页服务器14的IP地址。接下来,可以与网页服务器14进行三次握手,在握手失败的情况下,整个流程结束,在握手成功的情况下,kafka消息生产端12与网页服务器14之间可以建立TCP连接。之后,kafka消息生产端12可以通过建立好的TCP连接,发送kafka消息存储请求报文。
在网页服务器14接收到kafka消息存储请求报文之后,其可以解析该报文中的结构体,解析出的结构体可以如下面的代码所示,网页服务器14利用解析出的结构体进行数据校验,在数据校验通过的情况下,网页服务器14可以将kafka消息存储请求报文转发给消息处理服务器16。
Figure BDA0002312530490000131
消息处理服务器16可以根据接收到的kafka消息存储请求报文,向相应kafka集群18(即第一kafka集群)中存储相应kafka消息,第一kafka集群可以返回kafka消息存储响应报文给消息处理服务器16。之后,消息处理服务器16可以将接收到的响应报文通过网页服务器14返回给kafka消息生产端12。
需要说明的是,本公开的实施例可以使用golang语言+iris框架(其为一种后端WEB框架)实现。采用本公开的实施例,无论kafka消息生产端12采用何种开发语言,在不安装特定的扩展包的情况下,通过对客户端的简单调用,即可能够非常便捷地实现kafka消息的存储,从而能够极大地减少开发人员的学习成本和开发成本,避免使用特定的扩展包造成无法跨项目复用的问题,以及避免特定的扩展包可能存在的程序缺陷(例如导致出现进程假死,连接异常关闭等情况)。
示例性方法
参见图3,图中示出了本公开的实施例提供的一种kafka消息存储方法。如图3所示,该方法应用于kafka消息生产端,该方法包括如下步骤:
步骤301,生成kafka消息生产端所在的kafka消息存储系统中的网页服务器支持的kafka消息存储请求报文;
步骤302,将kafka消息存储请求报文发送给网页服务器。
可见,本公开的实施例中,在kafka消息生产端与网页服务器之间能够正常交互的情况下,可以利用网页服务器和消息处理服务器,实现kafka消息的存储,也即,本公开的实施例无需根据kafka消息生产端使用的开发语言,在kafka消息生产端安装特定的扩展包即可实现kafka消息的存储,因此,与现有技术相比,本公开的实施例中,kafka消息的存储实现起来非常便捷,且能够摆脱必须安装特定扩展包的限制。
参见图4,图中示出了本公开的实施例提供的一种kafka消息存储方法。如图4所示,该方法应用于网页服务器,该方法包括如下步骤:
步骤401,接收网页服务器所在的kafka消息存储系统中的kafka消息生产端发送的kafka消息存储请求报文;
步骤402,将kafka消息存储请求报文转发给kafka消息存储系统中的消息处理服务器。
在一个可选示例中,接收网页服务器所在的kafka消息存储系统中的kafka消息生产端发送的kafka消息存储请求报文之后,该方法还包括:
从kafka消息存储请求报文中,获取有效报文数据和校验数据;其中,有效报文数据包括待存储的kafka消息、第一指示信息和第二指示信息,第一指示信息用于指示待存储的kafka消息待存储至的第一kafka集群,第二指示信息用于指示待存储的kafka消息在第一kafka集群中的存储位置;
利用校验数据,对有效报文数据进行数据校验;
在数据验证通过的情况下,执行将kafka消息存储请求报文转发给kafka消息存储系统中的消息处理服务器的步骤。
在一个可选示例中,将kafka消息存储请求报文转发给kafka消息存储系统中的消息处理服务器之后,该方法还包括:
接收消息处理服务器发送的kafka消息存储响应报文;
将kafka消息存储响应报文转发给kafka消息生产端。
可见,本公开的实施例中,在kafka消息生产端与网页服务器之间能够正常交互的情况下,可以利用网页服务器和消息处理服务器,实现kafka消息的存储,也即,本公开的实施例无需根据kafka消息生产端使用的开发语言,在kafka消息生产端安装特定的扩展包即可实现kafka消息的存储,因此,与现有技术相比,本公开的实施例中,kafka消息的存储实现起来非常便捷,且能够摆脱必须安装特定扩展包的限制。
参见图5,图中示出了本公开的实施例提供的一种kafka消息存储方法。如图5所示,该方法应用于消息处理服务器,该方法包括如下步骤:
步骤501,接收消息处理服务器所在的kafka消息存储系统中的网页服务器转发的kafka消息存储请求报文;
步骤502,根据kafka消息存储请求报文,向kafka消息存储系统包括的至少一个kafka集群中的第一kafka集群中存储相应kafka消息。
在一个可选示例中,消息处理服务器用于管理多个kafka数据发送微服务,每一kafka数据发送微服务为:一个数据发送服务器;或者,消息处理服务器上的一个数据发送子进程;
根据kafka消息存储请求报文,向kafka消息存储系统包括的至少一个kafka集群中的第一kafka集群中存储相应kafka消息,包括:
利用负载均衡算法,从多个kafka数据发送微服务中,选择一个kafka数据发送微服务;
通过所选择的kafka数据发送微服务,向kafka消息存储系统包括的至少一个kafka集群中的第一kafka集群中存储相应kafka消息。
在一个可选示例中,
利用负载均衡算法,从多个kafka数据发送微服务中,选择一个kafka数据发送微服务之前,该方法还包括:
监测每个kafka数据发送微服务的状态;
确定多个kafka数据发送微服务中,所对应状态为可用状态的kafka数据发送微服务;
利用负载均衡算法,从多个kafka数据发送微服务中,选择一个kafka数据发送微服务,包括:
利用负载均衡算法,从所对应状态为可用状态的kafka数据发送微服务中,选择一个kafka数据发送微服务。
在一个可选示例中,该方法还包括:
接收第一kafka集群返回的kafka消息存储响应报文;
将kafka消息存储响应报文转发给网页服务器。
可见,本公开的实施例中,在kafka消息生产端与网页服务器之间能够正常交互的情况下,可以利用网页服务器和消息处理服务器,实现kafka消息的存储,也即,本公开的实施例无需根据kafka消息生产端使用的开发语言,在kafka消息生产端安装特定的扩展包即可实现kafka消息的存储,因此,与现有技术相比,本公开的实施例中,kafka消息的存储实现起来非常便捷,且能够摆脱必须安装特定扩展包的限制。
示例性装置
参见图6,图中示出了本公开的实施例提供的一种kafka消息存储装置。如图6所示,该装置应用于kafka消息生产端,该装置包括:
生成模块601,用于生成kafka消息生产端所在的kafka消息存储系统中的网页服务器支持的kafka消息存储请求报文;
发送模块602,用于将kafka消息存储请求报文发送给网页服务器。
参见图7,图中示出了本公开的实施例提供的一种kafka消息存储装置。如图7所示,该装置应用于网页服务器,该装置包括:
第一接收模块701,用于接收网页服务器所在的kafka消息存储系统中的kafka消息生产端发送的kafka消息存储请求报文;
第一转发模块702,用于将kafka消息存储请求报文转发给kafka消息存储系统中的消息处理服务器。
在一个可选示例中,该装置还包括:
获取模块,用于在接收网页服务器所在的kafka消息存储系统中的kafka消息生产端发送的kafka消息存储请求报文之后,从kafka消息存储请求报文中,获取有效报文数据和校验数据;其中,有效报文数据包括待存储的kafka消息、第一指示信息和第二指示信息,第一指示信息用于指示待存储的kafka消息待存储至的第一kafka集群,第二指示信息用于指示待存储的kafka消息在第一kafka集群中的存储位置;
校验模块,用于利用校验数据,对有效报文数据进行数据校验;
触发模块,用于在数据验证通过的情况下,触发第一转发模块702。
在一个可选示例中,该装置还包括:
第二接收模块,用于在将kafka消息存储请求报文转发给kafka消息存储系统中的消息处理服务器之后,接收消息处理服务器发送的kafka消息存储响应报文;
第二转发模块,用于将kafka消息存储响应报文转发给kafka消息生产端。
参见图8,图中示出了本公开的实施例提供的一种kafka消息存储装置。如图8所示,该装置应用于消息处理服务器,该装置包括:
第三接收模块81,用于接收消息处理服务器所在的kafka消息存储系统中的网页服务器转发的kafka消息存储请求报文;
存储模块82,用于根据kafka消息存储请求报文,向kafka消息存储系统包括的至少一个kafka集群中的第一kafka集群中存储相应kafka消息。
在一个可选示例中,消息处理服务器用于管理多个kafka数据发送微服务,每一kafka数据发送微服务为:一个数据发送服务器;或者,消息处理服务器上的一个数据发送子进程;
存储模块82,包括:
选择单元,用于利用负载均衡算法,从多个kafka数据发送微服务中,选择一个kafka数据发送微服务;
发送单元,用于通过所选择的kafka数据发送微服务,向kafka消息存储系统包括的至少一个kafka集群中的第一kafka集群中存储相应kafka消息。
在一个可选示例中,该装置包括:
监测模块,用于在利用负载均衡算法,从多个kafka数据发送微服务中,选择一个kafka数据发送微服务之前,监测每个kafka数据发送微服务的状态;
确定模块,用于确定多个kafka数据发送微服务中,所对应状态为可用状态的kafka数据发送微服务;
选择单元,具体用于:
利用负载均衡算法,从所对应状态为可用状态的kafka数据发送微服务中,选择一个kafka数据发送微服务。
在一个可选示例中,该装置还包括:
第四接收模块,用于接收第一kafka集群返回的kafka消息存储响应报文;
转发模块,用于将kafka消息存储响应报文转发给网页服务器。
示例性电子设备
下面,参考图9来描述根据本公开实施例的电子设备。图9图示了根据本公开实施例的电子设备的框图。
如图9所示,电子设备90包括一个或多个处理器901和存储器902。
处理器901可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备90中的其他组件以执行期望的功能。
存储器902可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器901可以运行所述程序指令,以实现上文所述的本公开的各个实施例的kafka消息存储方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备90还可以包括:输入装置903和输出装置904,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置903还可以包括例如键盘、鼠标等等。
该输出装置904可以向外部输出各种信息。该输出装置904可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图9中仅示出了该电子设备90中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备90还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的kafka消息存储方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的kafka消息存储方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (10)

1.一种kafka消息存储系统,其特征在于,包括:kafka消息生产端、网页服务器、消息处理服务器和至少一个kafka集群;其中,
所述kafka消息生产端,用于生成所述网页服务器支持的kafka消息存储请求报文,并将所述kafka消息存储请求报文发送给所述网页服务器;
所述网页服务器,用于将所述kafka消息存储请求报文转发给所述消息处理服务器;
所述消息处理服务器,用于根据所述kafka消息存储请求报文,向所述至少一个kafka集群中的第一kafka集群中存储相应kafka消息。
2.根据权利要求1所述的系统,其特征在于,所述消息处理服务器用于管理多个kafka数据发送微服务,每一kafka数据发送微服务为:一个数据发送服务器;或者,所述消息处理服务器上的一个数据发送子进程;
所述消息处理服务器,还用于利用负载均衡算法,从所述多个kafka数据发送微服务中,选择一个kafka数据发送微服务;
所述消息处理服务器,具体用于通过所选择的kafka数据发送微服务,向所述至少一个kafka集群中的第一kafka集群中存储相应kafka消息。
3.根据权利要求2所述的系统,其特征在于,
所述消息处理服务器,还用于监测每个kafka数据发送微服务的状态,确定所述多个kafka数据发送微服务中,所对应状态为可用状态的kafka数据发送微服务;
所述消息处理服务器,具体用于利用负载均衡算法,从所对应状态为可用状态的kafka数据发送微服务中,选择一个kafka数据发送微服务。
4.根据权利要求1所述的系统,其特征在于,
所述网页服务器,还用于从所述kafka消息存储请求报文中,获取有效报文数据和校验数据,利用所述校验数据,对所述有效报文数据进行数据校验;其中,所述有效报文数据包括待存储的kafka消息、第一指示信息和第二指示信息,所述第一指示信息用于指示所述待存储的kafka消息待存储至的所述第一kafka集群,所述第二指示信息用于指示所述待存储的kafka消息在所述第一kafka集群中的存储位置;
所述网页服务器,具体用于在数据验证通过的情况下,将所述kafka消息存储请求报文转发给所述消息处理服务器。
5.一种kafka消息存储方法,其特征在于,应用于消息处理服务器,所述方法包括:
接收所述消息处理服务器所在的kafka消息存储系统中的网页服务器转发的kafka消息存储请求报文;
根据所述kafka消息存储请求报文,向所述kafka消息存储系统包括的至少一个kafka集群中的第一kafka集群中存储相应kafka消息。
6.根据权利要求5所述的方法,其特征在于,所述消息处理服务器用于管理多个kafka数据发送微服务,每一kafka数据发送微服务为:一个数据发送服务器;或者,所述消息处理服务器上的一个数据发送子进程;
所述根据所述kafka消息存储请求报文,向所述kafka消息存储系统包括的至少一个kafka集群中的第一kafka集群中存储相应kafka消息,包括:
利用负载均衡算法,从所述多个kafka数据发送微服务中,选择一个kafka数据发送微服务;
通过所选择的kafka数据发送微服务,向所述kafka消息存储系统包括的至少一个kafka集群中的第一kafka集群中存储相应kafka消息。
7.根据权利要求6所述的方法,其特征在于,
所述利用负载均衡算法,从所述多个kafka数据发送微服务中,选择一个kafka数据发送微服务之前,所述方法还包括:
监测每个kafka数据发送微服务的状态;
确定所述多个kafka数据发送微服务中,所对应状态为可用状态的kafka数据发送微服务;
所述利用负载均衡算法,从所述多个kafka数据发送微服务中,选择一个kafka数据发送微服务,包括:
利用负载均衡算法,从所对应状态为可用状态的kafka数据发送微服务中,选择一个kafka数据发送微服务。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收所述第一kafka集群返回的kafka消息存储响应报文;
将所述kafka消息存储响应报文转发给所述网页服务器。
9.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序用于执行上述权利要求5-8任一所述的kafka消息存储方法。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求5-8任一所述的kafka消息存储方法。
CN201911264838.0A 2019-12-11 2019-12-11 kafka消息存储系统、方法、装置及计算机可读存储介质 Active CN111049899B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911264838.0A CN111049899B (zh) 2019-12-11 2019-12-11 kafka消息存储系统、方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911264838.0A CN111049899B (zh) 2019-12-11 2019-12-11 kafka消息存储系统、方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111049899A true CN111049899A (zh) 2020-04-21
CN111049899B CN111049899B (zh) 2021-01-05

Family

ID=70235751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911264838.0A Active CN111049899B (zh) 2019-12-11 2019-12-11 kafka消息存储系统、方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111049899B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112380040A (zh) * 2021-01-18 2021-02-19 北京美摄网络科技有限公司 一种消息处理的方法、装置、电子设备及存储介质
CN113746842A (zh) * 2021-09-03 2021-12-03 唯品会(广州)软件有限公司 基于Protobuf协议动态解析的消息发送方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104754036A (zh) * 2015-03-06 2015-07-01 合一信息技术(北京)有限公司 一种基于kafka的消息处理系统及处理方法
CN105100271A (zh) * 2015-08-31 2015-11-25 南京势行软件开发有限公司 一种分布式弹性可扩展信息发布系统及其控制方法
CN105491012A (zh) * 2015-11-20 2016-04-13 北京奇虎科技有限公司 一种消息存放方法和装置
CN105490854A (zh) * 2015-12-11 2016-04-13 传线网络科技(上海)有限公司 实时日志收集方法、系统和应用服务器集群
CN106649766A (zh) * 2016-12-27 2017-05-10 北京锐安科技有限公司 一种基于kafka的消息处理方法
CN106649865A (zh) * 2016-12-31 2017-05-10 深圳市优必选科技有限公司 一种分布式服务器系统及数据处理方法
CN107992617A (zh) * 2017-12-20 2018-05-04 广东工业大学 一种注塑成型装备大数据采集系统及方法
CN108134830A (zh) * 2017-12-20 2018-06-08 马上消费金融股份有限公司 基于消息队列的负载均衡方法、系统、装置及存储介质
CN108833479A (zh) * 2018-05-18 2018-11-16 吉林亿联银行股份有限公司 一种数据同步方法和装置
CN109634746A (zh) * 2018-12-05 2019-04-16 四川长虹电器股份有限公司 一种web集群缓存的利用系统及优化方法
CN109684370A (zh) * 2018-09-07 2019-04-26 平安普惠企业管理有限公司 日志数据处理方法、系统、设备及存储介质
US20190373083A1 (en) * 2018-06-04 2019-12-05 Cisco Technology, Inc. Automatically and remotely on-board services delivery platform computing nodes

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104754036A (zh) * 2015-03-06 2015-07-01 合一信息技术(北京)有限公司 一种基于kafka的消息处理系统及处理方法
CN105100271A (zh) * 2015-08-31 2015-11-25 南京势行软件开发有限公司 一种分布式弹性可扩展信息发布系统及其控制方法
CN105491012A (zh) * 2015-11-20 2016-04-13 北京奇虎科技有限公司 一种消息存放方法和装置
CN105490854A (zh) * 2015-12-11 2016-04-13 传线网络科技(上海)有限公司 实时日志收集方法、系统和应用服务器集群
CN106649766A (zh) * 2016-12-27 2017-05-10 北京锐安科技有限公司 一种基于kafka的消息处理方法
CN106649865A (zh) * 2016-12-31 2017-05-10 深圳市优必选科技有限公司 一种分布式服务器系统及数据处理方法
CN107992617A (zh) * 2017-12-20 2018-05-04 广东工业大学 一种注塑成型装备大数据采集系统及方法
CN108134830A (zh) * 2017-12-20 2018-06-08 马上消费金融股份有限公司 基于消息队列的负载均衡方法、系统、装置及存储介质
CN108833479A (zh) * 2018-05-18 2018-11-16 吉林亿联银行股份有限公司 一种数据同步方法和装置
US20190373083A1 (en) * 2018-06-04 2019-12-05 Cisco Technology, Inc. Automatically and remotely on-board services delivery platform computing nodes
CN109684370A (zh) * 2018-09-07 2019-04-26 平安普惠企业管理有限公司 日志数据处理方法、系统、设备及存储介质
CN109634746A (zh) * 2018-12-05 2019-04-16 四川长虹电器股份有限公司 一种web集群缓存的利用系统及优化方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112380040A (zh) * 2021-01-18 2021-02-19 北京美摄网络科技有限公司 一种消息处理的方法、装置、电子设备及存储介质
CN112380040B (zh) * 2021-01-18 2021-05-07 北京美摄网络科技有限公司 一种消息处理的方法、装置、电子设备及存储介质
CN113746842A (zh) * 2021-09-03 2021-12-03 唯品会(广州)软件有限公司 基于Protobuf协议动态解析的消息发送方法

Also Published As

Publication number Publication date
CN111049899B (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
WO2017097123A1 (zh) 访问请求转换的方法和装置
CN108595304B (zh) 网页监控方法及装置
US8489733B2 (en) Automatic enterprise service bus deployment at the level of individual services
US8856800B2 (en) Service-level enterprise service bus load balancing
US8738711B2 (en) System and method for redirecting client-side storage operations
CN111049899B (zh) kafka消息存储系统、方法、装置及计算机可读存储介质
US8443345B2 (en) Dynamic processing of embedded compiled programming language code
US9432469B2 (en) Automated server controlled client-side logging
CN109739711B (zh) 一种接口测试方法、装置、设备和存储介质
WO2016101764A1 (zh) 双核浏览器中进行广告拦截的方法和浏览器装置
CN112243002A (zh) 数据转发方法、装置、电子设备以及计算机可读介质
US7711518B2 (en) Methods, systems and computer program products for providing system operational status information
EP3908933A1 (en) Test result triage for a failed code validation
US20130080865A1 (en) Presentation of Multimedia Objects at User Devices
US7991827B1 (en) Network analysis system and method utilizing collected metadata
Oliveira et al. Assessing the security of web service frameworks against Denial of Service attacks
CN103544209A (zh) 访问网页的方法和系统
US9848050B2 (en) Information processing device for packet and header inspection
CN110177096B (zh) 客户端认证方法、装置、介质和计算设备
JP5383923B1 (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム
US9817914B2 (en) Extensible markup language (XML) performance optimization on a multi-core central processing unit (CPU) through core assignment
CN113986676A (zh) 一种服务器健康检查方法、装置、电子设备及存储介质
US20110145723A1 (en) System and method for redirecting client-side storage operations
CN108920589B (zh) 浏览劫持识别方法、装置、服务器及存储介质
CN112968866B (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
TA01 Transfer of patent application right

Effective date of registration: 20200706

Address after: 100085 Floor 102-1, Building No. 35, West Second Banner Road, Haidian District, Beijing

Applicant after: Seashell Housing (Beijing) Technology Co.,Ltd.

Address before: 300 457 days Unit 5, Room 1, 112, Room 1, Office Building C, Nangang Industrial Zone, Binhai New Area Economic and Technological Development Zone, Tianjin

Applicant before: BEIKE TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant