我不知道密钥模式的确切概念,它是什么,为什么必须使用它作为密钥是自动生成的,我们只是传递一个值(消息)。
对于value,我们将一个模式传递给avro serialiser,serialiser从schema registry获取它的模式id,并用我们传递的值(消息)嵌入模式id(如果我错了,请纠正我)。钥匙怎么了?
我们还需要传递密钥模式吗?传递密钥模式的重要性是什么?如何传递密钥模式?
我不知道密钥模式的确切概念,它是什么,为什么必须使用它作为密钥是自动生成的,我们只是传递一个值(消息)。
对于value,我们将一个模式传递给avro serialiser,serialiser从schema registry获取它的模式id,并用我们传递的值(消息)嵌入模式id(如果我错了,请纠正我)。钥匙怎么了?
我们还需要传递密钥模式吗?传递密钥模式的重要性是什么?如何传递密钥模式?
2条答案
按热度按时间qq24tv8q1#
Kafka消息是键/值对。你设置的关键取决于你和你正在实现的需求。
消息键用于分区分配。通常,您会根据您希望执行的处理以及您希望对数据进行的任何严格排序来设置消息的密钥。例如,如果您希望在同一消费者组中有多个并行流程,并且每个流程都接收给定客户的所有记录,则需要输入客户id。
falq053o2#
用@robin的答案添加更多信息,
由于每个kafka消息都有一个键和值,因此键可以是null或一些基本类型值。
如果您发送一条主题为t的消息,其中包含字符串类型key和整数类型value,schema registry将创建两个主题:t-key和t-value。
t-key将存储字符串类型key的avro模式。如果没有键附加到消息(空类型),它将不会在架构注册表中注册任何架构。