Spring Boot 中的 Kafka 分区
Kafka partitioning in SpringBoot
我是 Kafka 的新手。我需要通过 Spring Boot.Actually 为 Kafka 编写一个简单的生产者和消费者我正在从 micronaut 转移到 Spring Boot。我对主题的划分有疑问。在 micronaut 中,我使用 @KafkaKey 作为分区键,如下所示:
public void process(@KafkaKey MyKey kafkaKey, @Body MyRecord myRecord)
当涉及到 spring 时,我不知道该怎么做,因为正如我所见,KafkaTemplete class 具有作为 Integer 对象的分区参数。
public ListenableFuture<SendResult<K, V>> send(String topic, Integer partition, K key, @Nullable V data)
那么如何在 Spring 引导中执行第一行?
KafkaTemplate 有不同的发送消息的方法。例如:
- 使用提供的键将数据发送到提供的主题,没有分区
send(java.lang.String topic, K key, V data)
- 将数据发送到没有键或分区的提供的主题。
end(java.lang.String topic, V data)
您可以在这里选择最合适的方式:
https://docs.spring.io/spring-kafka/api/org/springframework/kafka/core/KafkaTemplate.html
我是 Kafka 的新手。我需要通过 Spring Boot.Actually 为 Kafka 编写一个简单的生产者和消费者我正在从 micronaut 转移到 Spring Boot。我对主题的划分有疑问。在 micronaut 中,我使用 @KafkaKey 作为分区键,如下所示:
public void process(@KafkaKey MyKey kafkaKey, @Body MyRecord myRecord)
当涉及到 spring 时,我不知道该怎么做,因为正如我所见,KafkaTemplete class 具有作为 Integer 对象的分区参数。
public ListenableFuture<SendResult<K, V>> send(String topic, Integer partition, K key, @Nullable V data)
那么如何在 Spring 引导中执行第一行?
KafkaTemplate 有不同的发送消息的方法。例如:
- 使用提供的键将数据发送到提供的主题,没有分区
send(java.lang.String topic, K key, V data)
- 将数据发送到没有键或分区的提供的主题。
end(java.lang.String topic, V data)
您可以在这里选择最合适的方式: https://docs.spring.io/spring-kafka/api/org/springframework/kafka/core/KafkaTemplate.html