kafka消息的数据类型

dsf9zpds  于 2021-06-08  发布在  Kafka
关注(0)|答案(2)|浏览(999)

我想知道在Kafka主题中我们能得到什么样的数据。据我所知,在应用程序级,这是一个键值对,这可能是语言支持的类型的数据。例如,我们向主题发送一些消息,它可能是一些json、Parquet文件、序列化数据,还是我们只使用纯文本格式的消息进行操作?
谢谢你的帮助。

mnemlml8

mnemlml81#

在这个主题上,它总是只是一系列的数据。序列化发生在生产者发送之前,反序列化发生在消费者获取之后。序列化程序和反序列化程序是可插入的,所以正如您在应用程序级别所说的,它是您想要的任何数据类型的键值对。

33qvvth1

33qvvth12#

根据您谈论的是api、wire协议还是磁盘存储,有各种各样的消息格式。
这里的文档中描述了一些Kafka消息格式
https://kafka.apache.org/documentation/#messageformat
Kafka有一个序列化器/反序列化器或serdes(发音为sirdeez)的概念。
https://en.m.wikipedia.org/wiki/serdes
序列化程序是一个函数,它可以接收任何消息,并将其转换为实际使用kafka协议在线路上发送的字节数组。
反序列化程序执行相反的操作,它读取kafka有线协议的原始消息字节部分,并按照您希望接收应用程序看到的方式重新创建消息。
有用于字符串、long、bytearray、bytebuffers的内置serdes库,以及大量用于json、protobuf、avro以及特定于应用程序的消息格式的社区serdes库。
您还可以构建自己的serdes库
如何在kafka中创建自定义序列化程序?

相关问题