我想知道在topics?(序列化)中,kafka将数据转换为二进制(bytess数组)的优点谢谢。
uinbv5nw1#
Kafka选集:权威指南就Kafka而言,消息只是一个字节数组,因此其中包含的数据对Kafka来说没有特定的格式或意义。消息可以有一个可选的元数据位,称为密钥。密钥也是一个字节数组,与消息一样,对Kafka没有特定意义。所以这里真正的问题是:以字节数组存储数据有什么好处?字节数组是一种通用的数据格式,实际上,我们知道的任何数据类型(或开发人员创建的自定义数据类型)都可以序列化/反序列化到字节数组或从字节数组中序列化/反序列化。@阿兰在评论中举了很好的例子。另外一个原因是,我们不需要关心Kafka中的模式和消息验证。只是个商店。。。想象一下,有500个应用程序在运行,生产/消费Kafka。可以有500种不同的模式和数据类型(string、int、json、xml等)以及500多种消息验证标准。但是,这些都是应用程序端操作。因此,像kafka这样的消息传递平台不应该关心这些格式,而应该提供一种通用的方式来存储所有类型的数据,这一点很明显希望有帮助!:)
1条答案
按热度按时间uinbv5nw1#
Kafka选集:权威指南
就Kafka而言,消息只是一个字节数组,因此其中包含的数据对Kafka来说没有特定的格式或意义。消息可以有一个可选的元数据位,称为密钥。密钥也是一个字节数组,与消息一样,对Kafka没有特定意义。
所以这里真正的问题是:以字节数组存储数据有什么好处?
字节数组是一种通用的数据格式,实际上,我们知道的任何数据类型(或开发人员创建的自定义数据类型)都可以序列化/反序列化到字节数组或从字节数组中序列化/反序列化。
@阿兰在评论中举了很好的例子。另外一个原因是,我们不需要关心Kafka中的模式和消息验证。只是个商店。。。想象一下,有500个应用程序在运行,生产/消费Kafka。可以有500种不同的模式和数据类型(string、int、json、xml等)以及500多种消息验证标准。但是,这些都是应用程序端操作。因此,像kafka这样的消息传递平台不应该关心这些格式,而应该提供一种通用的方式来存储所有类型的数据,这一点很明显
希望有帮助!:)