[发明专利]一种Kafka消息发布方法、装置及存储介质有效
申请号: | 202110403396.4 | 申请日: | 2021-04-15 |
公开(公告)号: | CN113315750B | 公开(公告)日: | 2022-05-27 |
发明(设计)人: | 王逞 | 申请(专利权)人: | 新华三大数据技术有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L67/1097;H04L67/56 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 450000 河南省郑州市郑州高*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 kafka 消息 发布 方法 装置 存储 介质 | ||
本公开提供了一种Kafka消息发布方法、装置及存储介质,用于解决不符合规范的数据进入Kafka集群技术问题。本公开技术方案对Kafka的主题配置参数进行扩展,对于存在规范性检测需求的主题消息提供校验规则;替换原有逐条消息构造方法为消息工厂构造方式,根据传入的集群及主题配置参数,在消息创建按照消息校验规范生成消息,保证消息规范性和准确性;通过Kafka集群消息拦截器过滤掉不符合规范的消息,从而保证写入主题的消息都是符合规范的消息。本公开技术方案主要从服务端检测和控制写入主题的消息的规范性,能够高效地实现防止不符合规范的消息发布到Kafka集群中的风险。
技术领域
本公开涉及大数据技术领域,尤其涉及一种Kafka消息发布方法、装置及存储介质。
背景技术
Apache Kafka是分布式消息中间件的一种,支持分区partition、多副本(replica),支持基于ZooKeeper协调的分布式消息发布与订阅,可运行在一台或者多台服务器上,通过主题Topic对存储的数据进行分类,每条记录中包含一个关键字key,一个与关键字对应的键值value和一个时间戳timestamp。
ZooKeeper是一个分布式的应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
随着Kafka应用的扩展,Kafka逐渐成为数据处理中提供数据缓冲或暂存的一环,在很多应用场景中,要求其数据的规范与准确,而现有组件能力尚无法达到此要求,其具体缺陷包括:
(1)消息检测完全依赖生产者自定义设置;
(2)无法保证主题中的数据规范和准确;
(3)对后续数据处理带来严重性能影响。
Kafka作为消息系统,其消息存储单元(主题)属性中并不包含数据规范信息,且消息规范性检测完全依赖生产者自定义设置,因此导致不同生产者可发送差异性规格的消息至同一主题中。
为了规范Kafka分布式消息发布订阅,可外部引用Confluent Schema Registry组件,Confluent Schema Registry组件是一种开源的schema注册表的实现。所有写入数据需要用到的schema保存到注册表里,生产者在向Topic写入消息的时候引用schema的ID对数据进行序列化,消费者使用schema的ID从注册表里拉取schema来反序列化消息,序列化器和反序列化器分别负责处理schema的注册和拉取,其中schema注册表并不属于Kafka。
编写消息的producers(生产者)和读取消息的consumers(消费者)必须使用相同的模式注册Schema Registry组件来获取schema和schema id之间的映射关系。
生产者发送新的schema给Schema Registry,然后注册schema到subject(范围,模式注册中心定义了一个范围,schema可以在这个范围内变化,subject的名字根据subject的命名策略决定的,默认是根据主题名称派生subject名字),返回一个schema id给生产者,生产者缓存这个映射关系(schema和schema id,方便消息写入),只有第一次模式写入时候才会和Schema Registry交互。
消费者读取该数据时,它会看到Avro schema id,并向Schema Registry发送模式请求,Schema Registry检索与schema id关联的模式,并将该schema返回给消费者,消费者缓存schema和schema id之间的映射,以便后续消息读取,因此它只在读取第一个模式id时联系Schema Registry交互。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三大数据技术有限公司,未经新华三大数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110403396.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种无纺布生产加工装置及使用方法
- 下一篇:一种可以防止堆积积雪的帐篷