【发布时间】:2020-04-27 08:55:51
【问题描述】:
我有一个 Spring Boot 应用程序(Spring 版本 2.2.2.RELEASE),我在其中配置了 Kafka 消费者,它处理来自 Kafka 的数据并服务于多个 Web 套接字。订阅 kafka 成功,但并非选定 Kafka 主题的所有消息都由消费者处理。很少有消息被延迟,很少有消息被错过。但是生产者正在发送完全确保的数据。下面我分享了我使用过的配置属性。
@Bean
public ConsumerFactory<String, String> consumerFactory() {
final String BOOTSTRAP_SERVERS = kafkaBootstrapServer;
Map<String, Object> props = new HashMap<>();
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS);
props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, "false");
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
props.put(ConsumerConfig.GROUP_ID_CONFIG, consumerGroupId);
return new DefaultKafkaConsumerFactory<>(props);
}
我是否缺少任何配置?
【问题讨论】:
-
您如何知道数据正在到达您在 UI 中查看的主题?
标签: spring-boot apache-kafka kafka-consumer-api spring-kafka