Я работаю с Storm, и это нормально для многих случаев использования. Недавно я взглянул на Trident, который представляет собой абстракцию уровня Storm на высоком уровне. Он поддерживает точно-один раз обработки и упрощает обработку с учетом состояния.Storm vs. Trident: Когда не использовать Trident?
Но теперь мне интересно .. Почему я не могу использовать Trident вместо Storm?
То, что я читал до сих пор:
- Trident обрабатывает сообщения в пакетном режиме, поэтому пропускная время может быть больше.
- Trident еще не способен обрабатывать циклы в топологиях.
Есть ли другие недостатки при использовании Trident вместо Storm? Потому что сейчас я считаю, что недостатки, перечисленные выше, являются незначительными.
Какие варианты использования не могут быть реализованы с помощью Trident?
Aftermath:
Поскольку я задал этот вопрос моя компания решила пойти на Trident первым. Когда будут проблемы с производительностью, мы будем использовать чистый шторм. К сожалению, это не было активным решением, оно просто стало дефолтным поведением (в то время меня не было).
Их предположение заключалось в том, что в большинстве случаев мы нуждаемся в состоянии или только однократной обработке, или мы будем нуждаться в нем в ближайшем будущем. Я понимаю их аргументацию, потому что переход от Storm к Trident или обратно не является легкой трансформацией, но, по моему личному мнению, концепция обработки потока без состояния не была понята всеми, и это было основной причиной использования Trident.
Я думаю, вы поняли: Trident является то, что работает на вершине Storm и заменяет старую концепцию транзакционных топологий. Конечно, вы можете использовать Trident вместо Core Storm, если хотите. –
Привет, Гордон, я знаю, что Трайдент работает на вершине Шторма. Из-за этого мне интересно, почему я должен Шторм в любом случае. Похоже, что низкоуровневый API Storm необходим только для некоторых редких случаев использования. –
Как я понял, когда у вас есть миллионы событий, время обработки партий не является большим (часть секунд, я полагаю), но загрузка базы данных снижается. Я думаю, что можно реализовать некоторый тайм-аут и иметь дополнительное событие. И да, Trident - это абстракция высокого уровня над штормом, и вы можете и должны использовать storm api для чего-то обычного. – Alex