Как увеличить масштаб с помощью esper?

Я смотрел на Esper (и Storm) для потоковой обработки. Esper, кажется, делает именно то, что я хочу, т. е. средства ролинга, медианы, сложные запросы и т. д., но одна вещь меня удивляет.

Как мне выполнить масштабирование до нескольких экземпляров с помощью Esper?

Насколько я понимаю, Storm занимается распределенной обработкой, но с Esper вы предоставлены сами себе.

Мне не нужно было бы делать это в обозримом будущем, но по мере нашего роста объемы наших данных также должны масштабироваться. Скорее всего, мы будем развернуты в Amazon EC2.

Нужно ли мне запускать несколько серверов и сегментировать данные перед отправкой их в мое приложение Esper?

Есть ли более изящный способ справиться с этим?

-Саджал


person sajal    schedule 06.02.2012    source источник


Ответы (2)


Вы можете запустить экземпляр Esper внутри связки, а это означает, что Storm будет обрабатывать федерацию кортежей/событий, а Esper будет обрабатывать CEP для событий, которые он получает в данном сбое.

Здесь есть некоторый код и информация о встраивании Эспера в Штормовой болт: http://tomdzk.wordpress.com/2011/09/28/storm-esper/

Однако... У вас должен быть вариант использования, который поддерживает механизмы Esper без сохранения состояния, обрабатывающие подмножество данных.

Например: вы вычисляете среднесуточную температуру по городам. Если не распределять свои кортежи с помощью shuffleGrouping на основе поля города, то каждый болт Эспера может иметь другой набор данных для каждого города.

По сути, обязательно ознакомьтесь с тем, как данные распределяются в топологии Storm, прежде чем переходить к этой архитектуре.

person cmonkey    schedule 19.03.2012
comment
Это интересный подход. Однако для нашего случая, похоже, в обозримом будущем будет достаточно одного экземпляра Esper, после чего мы можем либо использовать storm + esper, либо шардить вручную. Используя ваш пример с температурой, мы бы отслеживали 10-15 городов, каждый получал бы четный объем данных, и каждый город можно было бы обрабатывать совершенно отдельно, а потом сравнивать только сводки. - person sajal; 21.03.2012
comment
насколько я знаю, большинство эсперских функций являются базовым контекстом, другими словами, они узаконены. как заставить шторм отправить правильный кортеж на правильный эспер болт? - person Jet Geng; 21.09.2012

Судя по вашему вопросу, EsperHA актуален? Вы смотрели на это?

EsperHA — это комплексное решение для обработки событий ESP/CEP с нулевым временем простоя. Он сочетает в себе Esper с локальным кэшированием в памяти, устойчивым переполнением на диск или в базу данных и кластерной конфигурацией с возможностями горячего резервного копирования.

person Antony Stubbs    schedule 29.03.2012
comment
Кажется, что EsperHA занимается только репликацией, а не распространением. Мой вопрос конкретно о распределении нагрузки на несколько экземпляров. Я не спрашиваю о наличии. - person sajal; 31.03.2012
comment
Я знаю об EsperHA, но не использовал его. Похоже, это платный продукт, и наш магазин только изучал бесплатные варианты. - person cmonkey; 24.09.2012