CN114553970A - 一种基于Kafka分布式消息处理方法及数据总线系统 - Google Patents

一种基于Kafka分布式消息处理方法及数据总线系统 Download PDF

Info

Publication number
CN114553970A
CN114553970A CN202210116405.6A CN202210116405A CN114553970A CN 114553970 A CN114553970 A CN 114553970A CN 202210116405 A CN202210116405 A CN 202210116405A CN 114553970 A CN114553970 A CN 114553970A
Authority
CN
China
Prior art keywords
message
kafka
data
data model
module
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
Application number
CN202210116405.6A
Other languages
English (en)
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.)
Shanghai Shuyi Data Technology Co ltd
Original Assignee
Shanghai Shuyi Data 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 Shanghai Shuyi Data Technology Co ltd filed Critical Shanghai Shuyi Data Technology Co ltd
Priority to CN202210116405.6A priority Critical patent/CN114553970A/zh
Publication of CN114553970A publication Critical patent/CN114553970A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • 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/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • 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/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/03Protocol definition or specification 
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于Kafka分布式消息数据总线系统,其特征在于,包括:数据模型仓库,用于管理Kafka消息主题的数据模型;消息同步模块,用于Kafka消息的落地;监控模块,用于采集各组件监控数据以及异常告警;所述的数据模型仓库存储Kafka消息主题的数据模型的版本历史,同时提供多种兼容性设置,所述的消息同步模块中设有数据库同步器,对象存储同步器、Elasticsearch同步器和API工具,所述API工具用于同步任务管理操作和提供监控数据,消息同步模块根据同步任务配置启动对应的同步器将Kafka消息落地到数据库、对象存储或者Elasticsearch中供所需系统使用,通过任务配置就能实现消息数据的分发存储,节省了不同数据分发的开发成本。

Description

一种基于Kafka分布式消息处理方法及数据总线系统
技术领域
本发明涉及信息数据领域,特别是一种基于Kafka分布式消息处理方法及数据总线系统。
背景技术
目前,随着数据的与日俱增和大数据技术的飞速发展,数据的价值日益体现。越来越多的企业开始重视数据,以期从中挖掘出更有价值的信息。而这些都需要一个能高效可靠存储,共享,交换数据的总线系统。
Kafka是由Apache软件基金会开发的一个开源流处理平台,是一种高吞吐量的分布式发布订阅消息系统。
Kafka核心组件主要如下:
1)Topic----消息主题,就是消息的分类,是特定类型的数据的集合,方便对数据分类处理。
2)Broker----代理者,就是Kafka的节点,负责数据存储,Kafka集群中每个节点都是一个代理者。
3)Producer----消息生产者,将特定结构的数据发送的Kafka对应类型的主题中。
4)Consumer----消息消费者,订阅特定的主题,消费需要的数据。
5)ConsumerGroup---消费组,对于同一条消息同一个消费组只有一个消费者能接收到。
Kafka作为消息传递系统,现有的组件能力不能满足要求,具体缺陷包括:
1、消息主题中存储的数据结构完全依赖于生产者自己定义,消费端需要先得到数据结构才能进行消费,灵活性比较差。
2、无法保证主题中的数据规范和准确,容易导致不同生产者发送差异性的数据结构到同一个消息主题中。
3、缺乏简单可靠的存储分发的机制。
中国专利,专利号:CN202011341933.9公开了一种kafka消息处理方法及系统,该方法包括:接收上游系统发送的携带有ID标识的第一kafka消息,判断第一kafka消息是否对应于上游系统中的第一流程节点;若是,直接消费第一kafka消息;若否,查询归档数据库中是否存在携带有ID标识的kafka消息,若是,按照归档顺序依次消费后再消费第一kafka消息,若否,查询已消费的数据中是否存在ID标识,若是,直接消费第一kafka消息。该方案针对需要顺序处理的、带有过期时间的不可重复消费的数据,提供了可重复消费的解决方案,可以不用区分实时数据和归档数据,实现用一个处理系统进行处理,提高了数据处理效率,节省了人力成本。但是该方案依然存在灵活性差、无法保证主题中的数据规范和准确的问题。
发明内容
为了克服上述现有技术的不足,本发明提供了一种基于Kafka分布式消息处理方法及数据总线系统用于解决现有技术中的缺陷。
本发明所采用的技术方案是:一种基于Kafka分布式消息处理方法,包括消息发布订阅及消息同步,
所述消息发布的步骤为:
S201:用户创建Kafka消息主题,并定义消息主题的数据模型;
S202:消息生产者从数据模型仓库获取对应Kafka消息主题的数据模型最新版本,根据模型的数据结构组装数据,序列化为字节序列,发布到Kafka代理者;
S203:Kafka消息消费者监听对应的消息主题,并提交消费状态到Kafka集群;所述消息同步的步骤为:
S301:创建消息主题同步任务;
S302:在一个服务中启动任务监听对应消息主题;
S303:当接收到新消息时,从数据模型仓库获取对应消息主题的数据模型,反序列化字节序列到数据模型并对数据进行映射、转换处理;
S304:根据任务配置,将处理后的数据持久化到数据库、对象存储或者Elasticsearch中,并提交消费状态到Kafka集群。
优选的,所述步骤S201中消息主题的数据模型默认是向后兼容的。
本发明还提供了一种基于Kafka分布式消息数据总线系统,包括:
Kafka集群;
数据模型仓库,用于管理Kafka消息主题的数据模型;
消息同步模块,用于Kafka消息的落地;
监控模块,用于采集各组件监控数据以及异常告警。
优选的,所述的数据模型仓库存储Kafka消息主题的数据模型的版本历史,同时提供多种兼容性设置。
优选的,所述的消息同步模块中设有数据库同步器,对象存储同步器、Elasticsearch同步器和API工具。
优选的,所述的监控模块中设有采集模块、时序数据库、告警模块和图形化显示。
优选的,所述API工具用于同步任务管理操作和提供监控数据,消息同步模块根据同步任务配置启动对应的同步器将Kafka消息落地到数据库、对象存储或者Elasticsearch中供所需系统使用。
优选的,所述采集模块每隔15秒采集一次Kafka集群中消息主题、生产者、消费者的状态信息以及消息同步模块同步任务的状态信息并写入时序数据库;告警模块根据配置的告警规则判断采集数据是否需要发送告警;图像化显示用于图像化展示所述时序数据库中的数据。与现有技术相比,本发明的有益效果是:通过引入数据模型仓库,增加了Kafka消息主题消息数据结构管理的能力,使得消息生产者和消息消费者能统一获取数据模型,避免了消息生产者和消息消费者的数据模型不一致的问题。预先定义的消息主题数据模型,保证了数据主题中的数据的规范性和准确性。通过任务配置就能实现消息数据的分发存储,节省了不同数据分发的开发成本。
附图说明
图1为一种基于Kafka分布式消息处理方法消息发布订阅流程示意图;
图2为一种基于Kafka分布式消息处理方法消息同步流程示意图;
图3为一种基于Kafka分布式消息数据总线系统示意图。
具体实施方式
下面结合附图对本发明进一步说明。
参照图1-3所示,本发明提供的一种基于Kafka分布式消息处理方法,包括消息发布订阅及消息同步,
所述消息发布的步骤为:
S201:用户创建Kafka消息主题,并定义消息主题的数据模型;默认消息主题的数据模型是向后兼容的,即在数据模型后序的变更中只允许删除字段或者新增可选字段,保证了所诉步骤S203中消息消费着可以使用最新的数据模型多Kafka消息主题中历史的消息和新消息进行消费。
S202:消息生产者从数据模型仓库获取对应Kafka消息主题的数据模型最新版本,根据模型的数据结构组装数据,序列化为字节序列,发布到Kafka代理者;
S203:Kafka消息消费者监听对应的消息主题,当接收到新消息时,从数据模型仓库获取对应消息主题的数据模型,反序列化字节序列到数据模型,最后提交消费状态到Kafka集群。
所述消息同步的步骤为:
S301:创建消息主题同步任务;
S302:在一个服务中启动任务监听对应消息主题;
S303:当接收到新消息时,从数据模型仓库获取对应消息主题的数据模型,反序列化字节序列到数据模型并对数据进行映射、转换处理;
S304:根据任务配置,将处理后的数据持久化到数据库、对象存储或者Elasticsearch中,并提交消费状态到Kafka集群。
本发明还提供了一种基于Kafka分布式消息数据总线系统,参考图3包括:数据模型仓库,用于管理Kafka消息主题的数据模型;
消息同步模块,用于Kafka消息的落地;
监控模块,用于采集各组件监控数据以及异常告警;
Kafka集群。
优选的,所述的数据模型仓库存储Kafka消息主题的数据模型的版本历史,同时提供多种兼容性设置,分别为向前兼容,向后兼容,完全兼容,对于向前兼容模式,数据模型的的变更只允许新增字段或者删除可选的字段;对于向后兼容模式,只允许删除字段或者新增可选字段;对于完全兼容模式,只能增加或者删除可选字段。
所述的消息同步模块中设有数据库同步器,对象存储同步器、Elasticsearch同步器和API工具,所述API工具用于同步任务管理操作和提供监控数据,消息同步模块根据同步任务配置启动对应的同步器将Kafka消息落地到数据库、对象存储或者Elasticsearch中供所需系统使用。
所述的监控模块中设有采集模块、时序数据库、告警模块和图形化显示,采集模块通过对Kafka接口和消息同步模块API工具的调用获取Kafka集群中消息主题、生产者、消费者的状态信息以及消息同步模块同步任务的状态信息,例如消息消费者数量,消息消费者消费数据相对于最新数据的落后条数,同步任务的同步延迟。在本实施例中,同时将采集到的监控信息写入的时序数据库,以进行数据分析和展示;时序数据库例如可以是InfluxDB,InfluxDB是一个由InfluxData开发的开源时序型数据,它由Go写成,着力于高性能地查询与存储具有时间特性和需求的数据,被广泛应用于存储系统的监控数据。告警模块基于监控数据和告警规则,当满足告警条件时,发出告警;在本发明的上述实施例中,所述在监控数据写入时序数据库之后还包括:图形化展示所述时序数据库中监控数据。例如通过Grafana实现所述时序数据库中监控数据的图形化展示。Grafana是go语言编写的是一个跨平台的开源的度量分析和可视化工具,通过将采集的数据查询然后可视化的展示,可以做数据监控和数据统计,同时还带有告警功能
所述采集模块每隔15秒采集一次Kafka集群中消息主题、生产者、消费者的状态信息以及消息同步模块同步任务的状态信息并写入时序数据库;告警模块根据配置的告警规则判断采集数据是否需要发送告警;图像化显示用于图像化展示所述时序数据库中的数据。本发明通过引入数据模型仓库,增加了Kafka消息主题消息数据结构管理的能力,使得消息生产者和消息消费者能统一获取数据模型,避免了消息生产者和消息消费者的数据模型不一致的问题。预先定义的消息主题数据模型,保证了数据主题中的数据的规范性和准确性。通过任务配置就能实现消息数据的分发存储,节省了不同数据分发的开发成本。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明,因此无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。

Claims (8)

1.一种基于Kafka分布式消息处理方法,包括消息发布订阅及消息同步,其特征在于,
所述消息发布的步骤为:
S201:用户创建Kafka消息主题,并定义消息主题的数据模型;
S202:消息生产者从数据模型仓库获取对应Kafka消息主题的数据模型最新版本,根据模型的数据结构组装数据,序列化为字节序列,发布到Kafka代理者;
S203:Kafka消息消费者监听对应的消息主题,并提交消费状态到Kafka集群;所述消息同步的步骤为:
S301:创建消息主题同步任务;
S302:在一个服务中启动任务监听对应消息主题;
S303:当接收到新消息时,从数据模型仓库获取对应消息主题的数据模型,反序列化字节序列到数据模型并对数据进行映射、转换处理;
S304:根据任务配置,将处理后的数据持久化到数据库、对象存储或者Elasticsearch中,并提交消费状态到Kafka集群。
2.根据权利要求1所述的一种基于Kafka分布式消息处理方法,其特征在于,所述步骤S201中消息主题的数据模型默认是向后兼容的。
3.一种基于Kafka分布式消息数据总线系统,其特征在于,包括:
Kafka集群;
数据模型仓库,用于管理Kafka消息主题的数据模型;
消息同步模块,用于Kafka消息的落地;
监控模块,用于采集各组件监控数据以及异常告警。
4.根据权利要求3中所述的一种基于Kafka分布式消息数据总线系统,其特征在于,所述的数据模型仓库存储Kafka消息主题的数据模型的版本历史,同时提供多种兼容性设置。
5.根据权利要求3中所述的一种基于Kafka分布式消息数据总线系统,其特征在于,所述的消息同步模块中设有数据库同步器,对象存储同步器、Elasticsearch同步器和API工具。
6.根据权利要求3中所述的一种基于Kafka分布式消息数据总线系统,其特征在于,所述的监控模块中设有采集模块、时序数据库、告警模块和图形化显示。
7.根据权利要求5中所述的一种基于Kafka分布式消息数据总线系统,其特征在于,所述API工具用于同步任务管理操作和提供监控数据,消息同步模块根据同步任务配置启动对应的同步器将Kafka消息落地到数据库、对象存储或者Elasticsearch中供所需系统使用。
8.根据权利要求6中所述的一种基于Kafka分布式消息数据总线系统,其特征在于,所述采集模块每隔15秒采集一次Kafka集群中消息主题、生产者、消费者的状态信息以及消息同步模块同步任务的状态信息并写入时序数据库;告警模块根据配置的告警规则判断采集数据是否需要发送告警;图像化显示用于图像化展示所述时序数据库中的数据。
CN202210116405.6A 2022-02-07 2022-02-07 一种基于Kafka分布式消息处理方法及数据总线系统 Pending CN114553970A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210116405.6A CN114553970A (zh) 2022-02-07 2022-02-07 一种基于Kafka分布式消息处理方法及数据总线系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210116405.6A CN114553970A (zh) 2022-02-07 2022-02-07 一种基于Kafka分布式消息处理方法及数据总线系统

Publications (1)

Publication Number Publication Date
CN114553970A true CN114553970A (zh) 2022-05-27

Family

ID=81674162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210116405.6A Pending CN114553970A (zh) 2022-02-07 2022-02-07 一种基于Kafka分布式消息处理方法及数据总线系统

Country Status (1)

Country Link
CN (1) CN114553970A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12021921B2 (en) 2022-10-28 2024-06-25 Red Hat, Inc. Data plane reduction for eventing components

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783253A (zh) * 2018-12-28 2019-05-21 南京唯实科技有限公司 基于kafka的分布式消息数据总线
CN111061715A (zh) * 2019-12-16 2020-04-24 北京邮电大学 基于Web和Kafka的分布式数据集成系统及方法
CN112597249A (zh) * 2020-12-26 2021-04-02 湖南快乐阳光互动娱乐传媒有限公司 一种业务数据的同步分发存储方法及系统
CN112800064A (zh) * 2021-02-05 2021-05-14 成都延华西部健康医疗信息产业研究院有限公司 一种基于Confluent社区开源版的实时大数据应用开发方法及系统
CN113315750A (zh) * 2021-04-15 2021-08-27 新华三大数据技术有限公司 一种Kafka消息发布方法、装置及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783253A (zh) * 2018-12-28 2019-05-21 南京唯实科技有限公司 基于kafka的分布式消息数据总线
CN111061715A (zh) * 2019-12-16 2020-04-24 北京邮电大学 基于Web和Kafka的分布式数据集成系统及方法
CN112597249A (zh) * 2020-12-26 2021-04-02 湖南快乐阳光互动娱乐传媒有限公司 一种业务数据的同步分发存储方法及系统
CN112800064A (zh) * 2021-02-05 2021-05-14 成都延华西部健康医疗信息产业研究院有限公司 一种基于Confluent社区开源版的实时大数据应用开发方法及系统
CN113315750A (zh) * 2021-04-15 2021-08-27 新华三大数据技术有限公司 一种Kafka消息发布方法、装置及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12021921B2 (en) 2022-10-28 2024-06-25 Red Hat, Inc. Data plane reduction for eventing components

Similar Documents

Publication Publication Date Title
CN109660397B (zh) 用于采集日志的系统、方法和装置
CN111339175B (zh) 数据处理方法、装置、电子设备及可读存储介质
EP2902908A1 (en) System operation trace method in distributed system
CN112311617A (zh) 一种配置化数据监控告警方法及系统
CN108170832B (zh) 一种面向工业大数据的异构数据库的监控系统及监控方法
CN113973053B (zh) 一种网络靶场的探针管理系统与方法
CN112765152B (zh) 用于合并数据表的方法和装置
CN111008109B (zh) 一种监控数据处理方法、装置、电子设备及存储介质
CN114356692A (zh) 一种应用监控链路的可视化处理方法、装置及存储介质
CN110334150A (zh) 监测主从数据库同步延时的方法、监控终端及系统
CN108768790A (zh) 分布式搜索集群监控方法及装置、计算设备、存储介质
CN114254016A (zh) 基于弹性搜索的数据同步方法、装置、设备及存储介质
CN111339118A (zh) 基于Kubernetes的资源变更历史记录方法及装置
CN104657437A (zh) 推广情况数据的监测方法及装置
CN113608969A (zh) 业务系统运行监控系统及方法
CN114553970A (zh) 一种基于Kafka分布式消息处理方法及数据总线系统
CN114416703A (zh) 数据完整性自动监控方法、装置、设备及介质
CN111913933A (zh) 基于统一支撑平台的电网历史数据管理方法及系统
CN112579454A (zh) 一种任务数据的处理方法、装置以及设备
CN116383207A (zh) 一种数据标签管理方法、装置、电子设备和存储介质
CN114387123B (zh) 数据采集管理方法
CN114297211A (zh) 一种数据在线分析系统、方法、设备及存储介质
CN114201659A (zh) 一种消息轨迹传输查询方法、装置及系统
JP2018173785A (ja) 業務利用ファイル管理システム、業務利用ファイルの管理方法、および、プログラム
CN111654410B (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