CN112256446B - 一种Kafka消息总线管控方法及*** - Google Patents

一种Kafka消息总线管控方法及*** Download PDF

Info

Publication number
CN112256446B
CN112256446B CN202010952574.4A CN202010952574A CN112256446B CN 112256446 B CN112256446 B CN 112256446B CN 202010952574 A CN202010952574 A CN 202010952574A CN 112256446 B CN112256446 B CN 112256446B
Authority
CN
China
Prior art keywords
message
kafka
producer
consumer
white list
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.)
Active
Application number
CN202010952574.4A
Other languages
English (en)
Other versions
CN112256446A (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.)
Nari Technology Co Ltd
NARI Nanjing Control System Co Ltd
Original Assignee
Nari Technology Co Ltd
NARI Nanjing Control System 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 Nari Technology Co Ltd, NARI Nanjing Control System Co Ltd filed Critical Nari Technology Co Ltd
Priority to CN202010952574.4A priority Critical patent/CN112256446B/zh
Publication of CN112256446A publication Critical patent/CN112256446A/zh
Application granted granted Critical
Publication of CN112256446B publication Critical patent/CN112256446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种Kafka消息总线管控方法及***,本发明通过白名单校验创建的消息生产者、消息消费者以及传输的消息,对经过Kafka消息总线传输的消息进行监控和统计,实现对Kafka消息总线的管控。

Description

一种Kafka消息总线管控方法及***
技术领域
本发明涉及一种Kafka消息总线管控方法及***,属于消息总线领域。
背景技术
Kafka作为一个高并发、分布式消息发布/订阅***,其高吞吐量、低延时的特性,广泛的应用于消息传输、网站行为日志追踪、审计数据收集、流式处理等领域。基于微服务的分布式服务开发模式已慢慢成为主流,大型网站逐步采用分布式架构,基于Kafka的消息总线为分布式应用提供了统一的消息通信功能,但是目前还没有Kafka消息总线的管控方法。
发明内容
本发明提供了一种Kafka消息总线管控方法及***,解决了背景技术中披露的问题。
为了解决上述技术问题,本发明所采用的技术方案是:
一种Kafka消息总线管控方法,包括,
获取Kafka管理侧构建白名单中的消息生产者及关联的消息主题、消息消费者及关联的消息主题;
响应于第三方创建消息生产者/消息消费者,根据白名单中的消息生产者/消息消费者,校验创建的消息生产者/消息消费者;
响应于创建的消息生产者/消息消费者校验通过、且创建的消息生产者/消息消费者传输消息,根据白名单中的关联消息主题,校验传输的消息;
响应于传输的消息校验通过、且消息传输结束,将传输消息对应的收发日志推送至消息队列,便于订阅收发日志的Kafka管理侧进行消息的监控和统计。
响应于第三方创建消息生产者/消息消费者、并且创建的消息生产者/消息消费者校验通过,通知Kafka管理侧消息生产者/消息消费者上线;
响应于第三方销毁消息生产者/消息消费者,通知Kafka管理侧消息生产者/消息消费者下线。
订阅消息队列中白名单内容变更,更新获得的消息生产者及关联的消息主题、消息消费者及关联的消息主题。
一种Kafka消息总线管控方法,包括,
订阅消息队列中SDK侧上传的收发日志;
将收发日志持久化至关系数据库;
根据预设要求,以消息主题为维度,监控和统计消息。
构建白名单,并将白名单持久化至关系数据库。
变更白名单内容,并将白名单内容变更推送至消息队列。
统计消息包括统计消息速度、消息大小、在线的消息生产者/消息消费者信息;监控消息包括查询消息状态。
一种Kafka消息总线管控***,包括SDK侧***和Kafka管理侧***;
SDK侧***包括:
白名单内容获取模块:获取Kafka管理侧构建白名单中的消息生产者及关联的消息主题、消息消费者及关联的消息主题;
第一校验模块:响应于第三方创建消息生产者/消息消费者,根据白名单中的消息生产者/消息消费者,校验创建的消息生产者/消息消费者;
第二校验模块:响应于创建的消息生产者/消息消费者校验通过、且创建的消息生产者/消息消费者传输消息,根据白名单中的关联消息主题,校验传输的消息;
日志推送模块:响应于传输的消息校验通过、且消息传输结束,将传输消息对应的收发日志推送至消息队列,便于订阅收发日志的Kafka管理侧进行消息的监控和统计;
Kafka管理侧***包括:
订阅模块:订阅消息队列中SDK侧上传的收发日志;
持久化模块:将收发日志持久化至关系数据库;
监控和统计模块:根据预设要求,以消息主题为维度,监控和统计消息。
一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行Kafka消息总线管控方法。
一种计算设备,包括一个或多个处理器、一个或多个存储器以及一个或多个程序,其中一个或多个程序存储在所述一个或多个存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行Kafka消息总线管控方法。
本发明所达到的有益效果:本发明通过白名单校验创建的消息生产者、消息消费者以及传输的消息,对经过Kafka消息总线传输的消息进行监控和统计,实现对Kafka消息总线的管控。
附图说明
图1为Kafka管理侧和SDK侧的数据交互架构图;
图2为Kafka管理侧和SDK侧的数据交互流程图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1和2所示,一种Kafka消息总线管控方法,包括SDK侧方法和Kafka管理侧方法。
SDK侧方法包括以下步骤:
1)从关系数据库中获取Kafka管理侧构建白名单中的消息生产者及关联的消息主题、消息消费者及关联的消息主题。
白名单为Kafka管理侧创建,并持久化至关系数据库,初始时,SDK侧会从关系数据库中获取白名单中的内容,以后后续的验证;SDK侧会订阅消息队列中白名单内容变更,一旦内容发生变更,则可更新获得的消息生产者及关联的消息主题、消息消费者及关联的消息主题,用更新后的内容进行后续验证。
2)响应于第三方创建消息生产者/消息消费者,根据白名单中的消息生产者/消息消费者,校验创建的消息生产者/消息消费者,若创建的消息生产者/消息消费者校验不通过,则表明创建的消息生产者/消息消费者无效;若创建的消息生产者/消息消费者校验通过,则表明创建的消息生产者/消息消费者有效,可进行后续的传输。
3)响应于创建的消息生产者/消息消费者校验通过、且创建的消息生产者/消息消费者传输消息,根据白名单中的关联消息主题,校验传输的消息,若传输的消息校验不通过,则表明传输的消息无效;若传输的消息校验通过,则表表明传输的消息有效。
响应于第三方创建消息生产者/消息消费者、并且创建的消息生产者/消息消费者校验通过,通知Kafka管理侧消息生产者/消息消费者上线。响应于第三方销毁消息生产者/消息消费者,通知Kafka管理侧消息生产者/消息消费者下线。
4)响应于传输的消息校验通过、且消息传输结束,将传输消息对应的收发日志推送至消息队列,便于订阅收发日志的Kafka管理侧依次进行持久化、消息的监控和统计。
Kafka管理侧方法,包括以下步骤:
S1)初始时构建白名单,并将白名单持久化至关系数据库;在使用过程中,根据实际情况,变更白名单内容,并将白名单内容变更推送至消息队列。
创建/删除主题,持久化主题至关系数据库,在Kafka集群创建/删除对应主题,推送创建/删除主题至消息队列。
通过对Kafka的主题做可视化,达到Kafka消息总线主题的可控可管目的,同时对主题进行消息总线业务标注,如主题应用的业务模块,描述信息,是否有序等。
创建/删除消息生产者、及生产者主题更新,持久化主题至关系数据库,推送创建/删除消息生产者至消息队列。
创建/删除消息消费者、及消费者主题更新,持久化主题至关系数据库,推送创建/删除消息生产者至消息队列。
S2)订阅消息队列中SDK侧上传的收发日志。
S3)将收发日志持久化至关系数据库。
S4)根据预设要求,以消息主题为维度监控和统计消息。
统计消息包括统计消息速度、消息大小、在线的消息生产者/消息消费者信息;监控消息即进行消息查询,包括查询消息状态,单条消息主要包含下面属性:主题信息、KafkaKey、消息大小、生产者ID,消息发送时间、当前消息的消费情况,因此可查看主题上各个消费者已消费/未消费消息数量统计以及消费者的在线状态。
上述方法通过白名单校验创建的消息生产者、消息消费者以及传输的消息,对经过Kafka消息总线传输的消息进行监控和统计,实现对Kafka消息总线的管控,提升消息总线使用效率。
一种Kafka消息总线管控***,包括SDK侧***和Kafka管理侧***。
SDK侧***包括:
白名单内容获取模块:获取Kafka管理侧构建白名单中的消息生产者及关联的消息主题、消息消费者及关联的消息主题;
第一校验模块:响应于第三方创建消息生产者/消息消费者,根据白名单中的消息生产者/消息消费者,校验创建的消息生产者/消息消费者;
第二校验模块:响应于创建的消息生产者/消息消费者校验通过、且创建的消息生产者/消息消费者传输消息,根据白名单中的关联消息主题,校验传输的消息;
日志推送模块:响应于传输的消息校验通过、且消息传输结束,将传输消息对应的收发日志推送至消息队列,便于订阅收发日志的Kafka管理侧进行消息的监控和统计;
Kafka管理侧***包括:
订阅模块:订阅消息队列中SDK侧上传的收发日志;
持久化模块:将收发日志持久化至关系数据库;
监控和统计模块:根据预设要求,以消息主题为维度,监控和统计消息。
一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行Kafka消息总线管控方法。
一种计算设备,包括一个或多个处理器、一个或多个存储器以及一个或多个程序,其中一个或多个程序存储在所述一个或多个存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行Kafka消息总线管控方法的指令。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本发明的实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均包含在申请待批的本发明的权利要求范围之内。

Claims (9)

1.一种Kafka消息总线管控方法,其特征在于:包括SDK侧方法和Kafka管理侧方法,
SDK侧方法包括:
获取Kafka管理侧构建白名单中的消息生产者及关联的消息主题、消息消费者及关联的消息主题;
响应于第三方创建消息生产者/消息消费者,根据白名单中的消息生产者/消息消费者,校验创建的消息生产者/消息消费者;
响应于创建的消息生产者/消息消费者校验通过、且创建的消息生产者/消息消费者传输消息,根据白名单中的关联消息主题,校验传输的消息;
响应于传输的消息校验通过、且消息传输结束,将传输消息对应的收发日志推送至消息队列,便于订阅收发日志的Kafka管理侧进行消息的监控和统计;
Kafka管理侧方法包括:
订阅消息队列中SDK侧上传的收发日志;
将收发日志持久化至关系数据库;
根据预设要求,以消息主题为维度,监控和统计消息。
2.根据权利要求1所述的一种Kafka消息总线管控方法,其特征在于:响应于第三方创建消息生产者/消息消费者、并且创建的消息生产者/消息消费者校验通过,通知Kafka管理侧消息生产者/消息消费者上线;
响应于第三方销毁消息生产者/消息消费者,通知Kafka管理侧消息生产者/消息消费者下线。
3.根据权利要求1所述的一种Kafka消息总线管控方法,其特征在于:订阅消息队列中白名单内容变更,更新获得的消息生产者及关联的消息主题、消息消费者及关联的消息主题。
4.根据权利要求1所述的一种Kafka消息总线管控方法,其特征在于:构建白名单,并将白名单持久化至关系数据库。
5.根据权利要求1所述的一种Kafka消息总线管控方法,其特征在于:变更白名单内容,并将白名单内容变更推送至消息队列。
6.根据权利要求1所述的一种Kafka消息总线管控方法,其特征在于:统计消息包括统计消息速度、消息大小、在线的消息生产者/消息消费者信息;监控消息包括查询消息状态。
7.一种Kafka消息总线管控***,其特征在于:包括SDK侧***和Kafka管理侧***;
SDK侧***包括:
白名单内容获取模块:获取Kafka管理侧构建白名单中的消息生产者及关联的消息主题、消息消费者及关联的消息主题;
第一校验模块:响应于第三方创建消息生产者/消息消费者,根据白名单中的消息生产者/消息消费者,校验创建的消息生产者/消息消费者;
第二校验模块:响应于创建的消息生产者/消息消费者校验通过、且创建的消息生产者/消息消费者传输消息,根据白名单中的关联消息主题,校验传输的消息;
日志推送模块:响应于传输的消息校验通过、且消息传输结束,将传输消息对应的收发日志推送至消息队列,便于订阅收发日志的Kafka管理侧进行消息的监控和统计;
Kafka管理侧***包括:
订阅模块:订阅消息队列中SDK侧上传的收发日志;
持久化模块:将收发日志持久化至关系数据库;
监控和统计模块:根据预设要求,以消息主题为维度,监控和统计消息。
8.一种存储一个或多个程序的计算机可读存储介质,其特征在于:所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1至6所述的方法中的任一方法。
9.一种计算设备,其特征在于:包括,
一个或多个处理器、一个或多个存储器以及一个或多个程序,其中一个或多个程序存储在所述一个或多个存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1至6所述的方法中的任一方法的指令。
CN202010952574.4A 2020-09-11 2020-09-11 一种Kafka消息总线管控方法及*** Active CN112256446B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010952574.4A CN112256446B (zh) 2020-09-11 2020-09-11 一种Kafka消息总线管控方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010952574.4A CN112256446B (zh) 2020-09-11 2020-09-11 一种Kafka消息总线管控方法及***

Publications (2)

Publication Number Publication Date
CN112256446A CN112256446A (zh) 2021-01-22
CN112256446B true CN112256446B (zh) 2022-09-30

Family

ID=74232242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010952574.4A Active CN112256446B (zh) 2020-09-11 2020-09-11 一种Kafka消息总线管控方法及***

Country Status (1)

Country Link
CN (1) CN112256446B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114089990A (zh) * 2021-10-22 2022-02-25 军事科学院***工程研究院网络信息研究所 多类型消息总线管理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110968430A (zh) * 2018-09-28 2020-04-07 北京京东尚科信息技术有限公司 基于消息队列的处理方法和消息队列
CN111459689A (zh) * 2020-04-07 2020-07-28 中国建设银行股份有限公司 基于分布式队列的消息处理***及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110968430A (zh) * 2018-09-28 2020-04-07 北京京东尚科信息技术有限公司 基于消息队列的处理方法和消息队列
CN111459689A (zh) * 2020-04-07 2020-07-28 中国建设银行股份有限公司 基于分布式队列的消息处理***及方法

Also Published As

Publication number Publication date
CN112256446A (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
CN110019240B (zh) 一种业务数据交互方法、装置及***
CN108536761B (zh) 报表数据查询方法及服务器
CN110147398B (zh) 一种数据处理方法、装置、介质和电子设备
CN107577805B (zh) 一种面向日志大数据分析的业务服务***
US10262032B2 (en) Cache based efficient access scheduling for super scaled stream processing systems
CN102340415B (zh) 一种服务器集群***的监控方法和一种服务器集群***
US10409650B2 (en) Efficient access scheduling for super scaled stream processing systems
CN108335075B (zh) 一种面向物流大数据的处理***及方法
CN111770002B (zh) 测试数据转发控制方法、装置、可读存储介质和电子设备
CN109325077A (zh) 一种基于canal和kafka实现实时数仓的***
US20190208032A1 (en) Subscription acknowledgments
CN115185705A (zh) 一种消息通知方法、装置、介质及设备
CN112256446B (zh) 一种Kafka消息总线管控方法及***
CN103440302B (zh) 实时数据交换的方法和***
CN113568813A (zh) 一种海量网络性能数据采集方法、装置及***
US20220044144A1 (en) Real time model cascades and derived feature hierarchy
CN111258840B (zh) 一种集群节点管理方法、装置及集群
CN114387124B (zh) 一种核电工业互联网平台的时序数据存储方法
CN115757642A (zh) 一种基于归档日志文件的数据同步方法及装置
CN115964418A (zh) 一种面向物联网的多源异构数据接入***及方法
CN113014618B (zh) 消息处理方法、***和电子设备
CN114153695A (zh) 一种基于Android的松耦合、高扩展性无埋点数据采集方法
CN113076380A (zh) 数据同步方法、装置、***、设备及存储介质
CN113656445A (zh) 数据处理方法、装置、电子设备及存储介质
CN108805741B (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
CB03 Change of inventor or designer information

Inventor after: Ma Dechao

Inventor after: Gao Baoshan

Inventor after: Ge Yiyong

Inventor after: Cheng Songsong

Inventor after: Wei Chunlei

Inventor before: Cheng Songsong

Inventor before: Gao Baoshan

Inventor before: Ge Yiyong

Inventor before: Ma Dechao

Inventor before: Wei Chunlei

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant