【问题标题】:Randomly generated group id for Kafka Consumer为 Kafka Consumer 随机生成的组 ID
【发布时间】:2021-05-16 01:02:51
【问题描述】:

我们有一个使用 spring kafka 来读取消息的应用程序。应用程序的每个实例都必须有一个唯一的 groupId,并重置它并在重新启动时获得一个新的。 GroupId 是通过${random.uuid} 随机生成的。

随机生成id的方案真的正确吗?

【问题讨论】:

    标签: java spring-boot apache-kafka kafka-consumer-api spring-kafka


    【解决方案1】:

    是的,通过${random.uuid}生成是正确的。

    spring.kafka.consumer.group-id=${random.uuid}
    

    如果您想更好地控制组 ID 的生成方式,还有另一种选择。将 @KafkaListener 注释与 Spring 表达式一起使用。来自Spring Kafka reference

    您可以使用 #{...​} 或属性占位符 (${...​}) 使用 SpEL 配置注释上的大多数属性。请参阅Javadoc 了解更多信息。

    @KafkaListener(topics = "hi", groupId = "#{T(java.util.UUID).randomUUID().toString()}") 
    

    【讨论】:

      猜你喜欢
      • 2020-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-21
      相关资源
      最近更新 更多