Kafka Broker 不仅可以存储二进制格式的数据,还可以存储 Avro、JSON 和字符串数据吗?

Jin*_*Lee 1 apache-kafka

我对卡夫卡经纪人很困惑。我认为它们将消息(数据,记录)存储为二进制格式,例如 0100110111...(有些人可能称它们为字节数组,字节流,字节数组等)

当我阅读有关 Kafka Connect 的内容时,它说消息存储在 Kafka 中的 Avro 对象、JSON 对象或字符串中。

卡夫卡权威指南:

...然后,工作人员使用配置的转换器将记录转换为 Avro 对象、JSON 对象或字符串,然后将结果存储到 Kafka 中。...当 Connect Worker 从 Kafka 读取记录时,它使用配置的转换器将记录从 Kafka 中的格式(即 Avro、JSON 或字符串)转换为 Connect Data API 记录,然后将其传递到接收器连接器,将其插入到目标系统中。

Kafka 代理既可以存储二进制数据,也可以存储 Avro、JSON 和字符串?

或者JSON、Avro、String都是二进制数据?

(我了解生产者/消费者的序列化/反序列化。我的问题仅涉及 Broker 的角度。)

Nis*_*yal 6

当数据发送到 Kafka Brokers 时,它会从不同的数据类型(即 avro/json/string/其他数据类型)序列化为bytearray格式,然后写入日志文件。

Kafka 主题日志文件始终将数据存储为字节数组格式。通过消费者读取时,字节数组数据被反序列化为可读格式,即字符串、avro、json 等。