首页 文章

Spring Cloud 流 Kafka

提问于
浏览
0

我已经 Build 了一个 生产环境 者 Spring Cloud 流应用程序和kafka作为 Binders . 这是application.yml:

spring:
cloud:
  stream:
    instanceCount : 1
    bindings:
      output:
        destination: topic-sink
        producer:
           partitionSelectorClass: com.partition.CustomPartition
           partitionCount: 1        
...

我有两个实例(在一个jvm上运行相同的应用程序)作为消费者 . 这是application.yml:

spring:  
cloud:
  stream:
    bindings:
      input:
        destination: topic-sink
        group: hdfs-sink
        consumer:
          partitioned: true
...

我对kafka组的理解是,对于同一组中的消费者,消息只会被消耗一次 . 假设生成器应用程序生成消息A,B并且同一组中有两个消费者应用程序,消费者1将读取消息A,消费者2将读取消息B,C . 但是,我的消费者正在消费消息 . 我的假设是错的吗?

1 回答

  • 0

    我得到了解决方案,谢谢Arek . 对于1个分区和1个消费者 . 我在spring cloud stream app中分享了producer \ consumer的解决方案 . 制片人:

    spring: cloud: stream: instanceCount : 1 bindings: output: destination: topic-sink producer: partitionSelectorClass: com.partition.CustomPartition partitionCount: 1
    消费者:

    spring: cloud: stream: instanceIndex: 0 #between 0 and instanceCount - 1 instanceCount: 1 bindings: input: destination: topic-sink group: hdfs-sink consumer: partitioned: true kafka: binder: autoAddPartitions: true

相关问题