【问题标题】:Make kinesis stream accept multiple consumers使 kinesis 流接受多个消费者
【发布时间】:2023-03-31 21:56:01
【问题描述】:

我有一个流“dest”,我想要两个消费者,并且两个流应该使用相同的消息。

但是如果一个流消耗了消息,那么消息就会丢失并且不会转到第二个流。我不想排队,但这里有话题。

我尝试为 2 个不同的流创建 2 个不同的组,但没有帮助。 此处如何配置?

spring:
  cloud:
    stream:
      bindings:
        input:
          group: group1
          destination: dest
          content-type: application/json

spring:
  cloud:
    stream:
      bindings:
        input:
          group: group2
          destination: dest
          content-type: application/json



spring:
  cloud:
    stream:
      bindings:
        output:
          destination: dest
          content-type: application/json

【问题讨论】:

    标签: spring-cloud spring-cloud-stream amazon-kinesis


    【解决方案1】:

    您需要为该用例 input1input2 声明两个不同的绑定:

    spring:
      cloud:
        stream:
          bindings:
            input1:
              group: group1
              destination: dest
              content-type: application/json
    
    spring:
      cloud:
        stream:
          bindings:
            input2:
              group: group2
              destination: dest
              content-type: application/json
    

    这样,绑定器将创建两个不同的消费者,因此,它们都将使用来自 Kinesis 流的相同记录。

    当然,您需要为每个绑定目标设置两个不同的 @StreamListener 配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-02
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      • 2015-10-23
      • 1970-01-01
      • 2018-06-20
      • 1970-01-01
      相关资源
      最近更新 更多