Как я могу отключить топологию на определенный период времени, а затем запустить ее автоматически после окончания периода - PullRequest
0 голосов
/ 07 мая 2018

У меня есть топология, которая собирает изменения из темы, вносит некоторые изменения в данные, а затем публикует их в API, API, где мы публикуем, имеет несколько периодов обслуживания (время, когда мы не можем что-либо публиковать там), У нас уже есть некоторые службы, которые не возвращают периоды обслуживания, но нам интересно Как мы можем отключить топологию на определенный период времени, а затем запустить ее автоматически, когда период заканчивается .

Мы используем следующие технологии:

  • Spring boot REST apis
  • Apache Storm
  • Apache Kafka
  • Кафка Буря

Я не знаю, есть ли способ остановить чтение в интеграции Kafka Spout.

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 08 мая 2018

Вы можете сделать это в Storm: во время начала обслуживания (используйте TimerTask и т. Д.), Позвоните

Nimbus.Client client = NimbusClient.getConfiguredClient(Utils.readStormConfig()).getClient();
..
client.deactivate("topologyName");

и в конце звоните client.activate.

...