我想知道kafka在主题中将数据转换为二进制(字节数组)带来的好处吗?(序列化)
谢谢。
答案 0 :(得分:3)
Kafka摘录:权威指南
就Kafka而言,一条消息只是一个字节数组,所以 其中包含的数据没有特定格式,或者 对卡夫卡而言。一条消息可以包含一些可选的元数据, 这称为密钥。密钥也是一个字节数组,并且 该消息对Kafka没有特定意义。
所以这里真正的问题是:以字节数组存储数据有什么好处?
字节数组是一种通用的数据格式,实际上我们知道的任何数据类型(或由开发人员创建的自定义数据类型)都可以在字节数组中进行序列化/反序列化。
@aran 在评论中提供了很好的例子。只是增加了另一个原因,我们不需要关心Kafka中的模式和消息验证。这只是一家商店...想象一下500个运行于kafka以及从kafka生产/从中消费的应用程序。消息可以有500种不同的模式和数据类型(字符串,整数,Json,XML等),以及超过500种验证标准。但是,这些是应用程序结束操作。因此,像Kafka这样的消息传递平台不应该关心这些格式,而应该提供一种通用的方式来存储所有它显然要处理的数据。 :)
希望有帮助! :)