我对键模式没有确切的想法,它是什么,以及为什么它必须用作键是自动生成的,我们只是传递一个值(消息(。
对于值,我们将模式传递给 AVRO 序列化器,序列化器从模式注册表获取它的模式 ID,并将模式 ID 嵌入到我们传递的值(消息(中(如果我错了,请纠正我(。密钥会怎样?
我们还需要传递密钥架构吗?传递密钥架构的重要性是什么?以及,如何传递密钥架构?
Kafka 消息是键/值对。您设置密钥的内容取决于您以及您正在实现的内容的要求。
消息键用于分区分配。通常,您会根据期望执行的处理以及要对数据施加的任何严格排序来键入消息。例如,如果您希望在同一使用者组中有多个并行进程,每个进程接收给定客户的所有记录,则应键入客户 ID。
添加更多信息与@Robin的答案,
由于每个 kafka 消息都有一个键和值,因此键可以是 null 或一些基元类型值。
如果发送具有主题 T 的字符串类型键和整数类型值的消息,则架构注册表将创建两个主题:T 键和 T 值。
T 键将存储字符串类型键的 avro 架构。如果没有附加到消息(null 类型(的键,它不会在架构注册表中注册任何架构。