Как запустить Spring Batch в нескольких экземплярах без создания дубликатов - PullRequest
0 голосов
/ 06 мая 2020

Я новичок в весенней партии. Я столкнулся с этой проблемой, мое приложение запускается каждые 5 минут и считывает данные из большого двоичного объекта в облаке, в котором есть некоторые записи, и обрабатывает эти записи в kafka topi c. Проблема в том, что прямо сейчас он работает в одном экземпляре, где нет проблем, но если я планирую запускать в нескольких экземплярах, если оба экземпляра запускаются одновременно, выбирают одни и те же записи, в kafka topi c будут дубликаты, потому что код база такая же. Есть ли какая-либо функция, которая помогает в весенней партии решить эту проблему или любой другой подход, который не создает дубликатов.

Заранее спасибо Вамси

1 Ответ

0 голосов
/ 06 мая 2020

Группа потребителей Kafka может вам помочь. Чтобы ваши экземпляры пакета Spark синхронизировались c друг с другом, вы должны установить group.id с тем же значением group1, а kafka позаботится обо всем остальном

Properties props = new Properties();
props.put("group.id", "group1");
... // other props
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...