【问题标题】:How to run spring batch in multiple instances without creating duplicates如何在多个实例中运行弹簧批处理而不创建重复项
【发布时间】:2020-05-06 15:35:17
【问题描述】:

我是春季批次的新手。我遇到了这个问题,我的应用程序每 5 分钟运行一次,并从云中的 blob 中读取数据,其中有一些记录并将这些记录处理到 kafka 主题中。问题是,现在它在没有问题的单个实例中运行,但是如果我打算在多个实例中运行,如果两个实例同时运行选择相同的记录,那么在 kafka 主题中将会有重复,因为代码库是相同的.是否有任何功能可以帮助 Spring Batch 克服此问题或任何其他不会创建重复项的方法。

提前致谢 范西

【问题讨论】:

标签: spring-batch


【解决方案1】:

Kafka 消费者组可以为您提供帮助。为了使您的 Spark 批处理实例彼此同步,您应该将 group.id 设置为相同的值 group1,然后 kafka 会处理其余的事情

Properties props = new Properties();
props.put("group.id", "group1");
... // other props
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);

【讨论】:

    猜你喜欢
    • 2021-06-09
    • 1970-01-01
    • 2017-11-03
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多