Я видел несколько простых примеров агрегации в Интернете. Не могу найти тот, который отвечает на мой вопрос. Мне интересно, сохраняет ли Zookeeper состояние болтов, поэтому, если 1 бит агрегата сработает, тогда, когда он перезапустит рабочего, рабочий начнет с предыдущего состояния. Я использую acks (и, возможно, также выполняю пакетную обработку.)Государственная экономия штормовых болтов, которые выполняют периодическую агрегацию и сохраняют результат agg для db
Например, скажем, что каждую минуту я должен подсчитывать, сколько слов такого же типа я нахожу и храню в db. Мой болт будет держать счетчики для каждой работы и в конце каждой минуты сбрасывать счетчики, хранящиеся в памяти, в db.
например: вход: арахис отличный. Океан замечательный.
Болт состояние после ввода обрабатывается:
в: 2
арахисовое: 1
является: 2
большой: 2
океана: 1
(я надеюсь, что мне не нужно Trident для этого.)
Так что, если болт падает до того, как он зафиксирует счетчики, сохраняет ли Zookeeper это состояние?
Если нет, то у вас есть предложения/ссылки о том, что лучший способ сделать это?
Благодаря
Я решил пойти с Трезубцем. Я также попытаюсь использовать только acks (нет Trident) и посмотреть, что лучше всего работает с трафиком, который я получаю. Благодаря! – Adrian
Вы правы. Zookeeper только отслеживает, какие кортежи активно работают кластером Storm, а не их состояние внутри кластера. –