Apache Storm - система обробки даних в режимі реального часу

storm_logo

Apache Storm - це проект, який дозволяє організувати обробку гарантовано різних подій у режимі реального часу. Наприклад, Шторм може використовуватися для аналізу потоків даних у реальному часі, виконувати завдання машинного навчання, організовувати безперервні обчислення, реалізовувати RPC, ETL тощо.

Система підтримує кластеризацію, лдля створення відмовостійких конфігурацій, гарантований режим обробки даних і має достатньо високу пропускну здатність для обробки більше одного мільйона запитів в секунду на вузлі кластера.

Інтеграція Apache Storm з різними системами обробки черг та технологіями баз даних.

Архітектура Бурі передбачає отримання та обробку неструктурованих потоків даних і постійно оновлюється за допомогою довільних складних контролерів з можливістю розподілу між різними етапами обчислення.

Про Apache Storm

Проект був переданий спільноті Apache після придбання Twitter компанією BackType, компанією, яка спочатку розробляла фреймворк.

На практиці Storm використовували у BackType для аналізу відображення подій у мікроблогах, порівнюючи нові твіти на льоту і посилання, які в них використовувались (наприклад, вони оцінювались як зовнішні посилання або інші учасники передавали рекламу в Twitter).

Функціональність Storm порівняно з платформою Hadoop, і ключова відмінність полягає в тому, що дані не зберігаються у сховищі, а отримуються ззовні та обробляються в реальному часі.

У Storm немає вбудованого шару зберігання, і аналітичний запит починає застосовуватися до вхідних даних, поки вони не будуть скасовані (якщо Hadoop використовує завдання MapReduce, яке займає кінцевий час, тоді Storm використовує ідею постійного запуску "топологій".

Виконання обробників може бути розподілене на декілька серверів: Storm автоматично паралелізує роботу з потоками в різних вузлах кластера.

Основні випадки використання, які можна передати Apache Storm

Обробка нових потоків даних або оновлень баз даних у режимі реального часу
Безперервні розрахунки: Storm може робити постійні запити та обробляти безперервні потоки, передача результатів обробки клієнту в режимі реального часу.

Розподілений віддалений виклик процедури (RPC): Шторм може бути використаний для забезпечення одночасності у виконанні ресурсоємних запитів.

Завдання ("топологія") в Storm - це розподілена функція між вузлами, яка очікує на обробку вхідних повідомлень.

Отримавши повідомлення, функція обробляє його в локальному контексті і повертає результат. Прикладом використання розподіленого RPC може бути паралельна обробка пошукових запитів або виконання операцій над великим набором наборів.

Apache Storm 2.0 Основні нові функції

Фонд апачів ініціював перенесення Storm на нове ядро, написане на Java, результати яких пропонуються у версії Apache Storm 2.0.

Усі основні компоненти платформи переписані на Java. Підтримка обробників записів у Clojure зберігається, але тепер пропонується у формі посилань. Для роботи Storm 8 потрібна Java 2.0.0.

Модель багатопотокової обробки повністю перероблена, що призвело до помітного збільшення продуктивності (для деяких топологій затримки були зменшені на 50-80%).

У новій версії було запропоновано новий типовий API потоків, що дозволяє налаштовувати обробники за допомогою операцій у стилі функціонального програмування.

Новий API реалізований на основі звичайного API і підтримує автоматичне злиття операцій для оптимізації їх обробки. Windowing API для віконних операцій додає підтримку для збереження та відновлення стану у серверній системі.

З іншого боку контролер для запуску додаткових ресурсів при прийнятті рішень, які не обмежуються процесором та пам'яттю, такі як параметри мережі та графічного процесора, він був доданий до планувальника завантаження.

Безліч удосконалень, пов’язаних із забезпеченням інтеграції з платформою Kafka.
Розширена система контролю доступу, в якій з’явилася можливість створювати групи адміністраторів та делегування токенів.

Додано вдосконалення, пов’язані з підтримкою SQL та метрик. Інтерфейс адміністратора має нові команди для налагодження стану кластера.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.