【发布时间】:2019-09-25 09:25:25
【问题描述】:
我是 Kafka 和 micronaut 的新手,我不了解 @KafkaKey 的用法。我在网上找到的是:
可以通过提供带有注释的参数来指定 Kafka 密钥 @KafkaKey。如果没有指定这样的参数,则使用空键发送记录。
那么它到底是什么意思呢?如果我不使用它会对我有什么影响?
【问题讨论】:
我是 Kafka 和 micronaut 的新手,我不了解 @KafkaKey 的用法。我在网上找到的是:
可以通过提供带有注释的参数来指定 Kafka 密钥 @KafkaKey。如果没有指定这样的参数,则使用空键发送记录。
那么它到底是什么意思呢?如果我不使用它会对我有什么影响?
【问题讨论】:
Kafka 消息键最重要的作用是分区。例如,如果选择的键是用户 ID,那么给定用户的所有数据都将发送到同一个分区。如果您不指定消息的键,Kafka 将使用循环策略进行消息分发。
【讨论】:
Kafka 保留分区内的顺序。当您为特定消息类型指定键时,消息类型将绑定到与该键关联的特定分区。由于消息的顺序保留在分区中,因此您可以通过指定键来保留消息的顺序。如果您正在使用状态机,这将特别有用。
【讨论】: