Apache Storm переработан на Java


Apache Storm 2.0 был выпущен с лучшей производительностью, новыми функциями и интеграцией с внешними системами. Его основные функции также были переписаны на Java.

Apache Storm — это распределенная система аналитики в реальном времени для Hadoop, которую можно использовать для обработки больших объемов быстро меняющихся данных. Его можно использовать для аналитики в реальном времени, онлайн-машинного обучения, непрерывных вычислений, распределенного RPC и ETL. Одним из преимуществ Storm является его скорость — тест показал, что он обрабатывается более миллиона кортежей в секунду на каждом узле.

Одно важное изменение — хотя и не «особенность» — это то, что ядро Storm было повторно реализовано на Java. До сих пор он был написан на Clojure. Перезапись на Java значительно повысила производительность, и разработчики заявляют, что это сделало внутренние API Storm более удобными в обслуживании и расширяемыми. Они также надеются, что это заставит потенциальных участников с большей готовностью работать над этим.

Повышение производительности также достигается за счет более компактной модели потоковой передачи, новой подсистемы быстрого обмена сообщениями и облегченной модели противодавления. Разработчики говорят, что Storm 2.0 — это первый потоковый движок, преодолевший барьер задержки в 1 микросекунду.

Есть новый API-интерфейс потоков, который типизирован и может использоваться для более простого выражения потоковых вычислений с помощью операций функционального стиля. Он построен на основе API-интерфейсов основных носиков и болтов Storm и автоматически объединяет несколько операций для оптимизации конвейера.

Также была улучшена поддержка окна данных. Windowing API теперь может сохранять и восстанавливать состояние окна до настроенного состояния бэкэнда, чтобы можно было поддерживать большие непрерывные окна. Теперь к границам окна можно получить доступ через API.

Еще одно важное изменение в способе реализации Storm связано с удалением Storm-Kafka. Это использовалось для интеграции Kafka, но было объявлено устаревшим из-за того, что Kafka устарел базовой клиентской библиотеки. Пользователям придется перейти к модулю storm-kafka-client, который для интеграции использует библиотеку Kafka-clients.

Новый выпуск Storm доступен на сайте проекта Storm.


Добавить комментарий