繁体   English   中英

卡夫卡:消费者添加多个记录

[英]Kafka: Consumers adding multiple records

我有三个消费者,每个消费者都有多个实例,并且都在使用同一主题。 我希望每个消费者都消费一次该主题。 为此,我创建了一个消费群体。 据我了解,Kafka应该足够聪明,可以选择一个服务实例来使用该主题,但这并没有发生,所有消费者的所有实例都在使用该主题。

我认为这可能与三个使用相同组名的使用者有关,因此我关闭了两个使用者,使一个使用者具有两个实例,但是当使用者组仅应为两个时,我仍然看到两个记录进入数据库选择一个实例以插入数据库。

我是在做错什么还是在下面遗漏了什么?

Application.yml

spring:
  cloud:
    stream:
      bindings:
        input-data:
          destination: publisheddata.t    
          group: publisheddata
      kafka:
    bindings:         
      input: 
        consumer:
           autoCommitOffset: false                
    binder:
      auto-create-topics: true
      kafka:
        mode: raw
spring:
    cloud:
      stream:
        kafka:
          binder:
            brokers: kafka:9092
            zk-nodes: kafka:2181

Channels.java

public interface Channels {

  String INPUT_DATA = "input-data";

  @Input(INPUT_DATA)
  SubscribableChannel dataInput();
}

数据处理程序

@EnableBinding(Channels.class)
@Configuration
public class DataMessageHandler {

@StreamListener(Channels.INPUT_DATA)
public void handle(Message<?> message) {
  ... handling message ...
}

万一以后有人遇到这个问题,经过几天的研究,我发现问题出在我使用的Spring Cloud版本中,我正在使用Brixton.RELEASE ,一旦将其更新为Dalston.SR2就解决了我的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM