Из Википедии, бесплатной энциклопедии
  (Перенаправлено из Storm (обработчик событий) )
Перейти к навигации Перейти к поиску

Apache Storm - это среда вычислений с распределенной потоковой обработкой, написанная преимущественно на языке программирования Clojure . Первоначально созданный Натаном Марцем [1] и командой BackType [2], проект был открыт после того, как был приобретен Twitter. [3] Он использует специально созданные «носики» и «болты» для определения источников информации и манипуляций, позволяющих осуществлять пакетную распределенную обработку потоковых данных. Первоначальный выпуск состоялся 17 сентября 2011 года. [4]

Приложение Storm разработано как «топология» в форме ориентированного ациклического графа (DAG) с выступами и болтами, выступающими в качестве вершин графа. Ребра на графике называются потоками и направляют данные от одного узла к другому. Вместе топология действует как конвейер преобразования данных. На поверхностном уровне общая структура топологии аналогична заданию MapReduce , с основным отличием в том, что данные обрабатываются в реальном времени, а не отдельными пакетами. Кроме того, топологии Storm работают бесконечно, пока не будут уничтожены, в то время как DAG задания MapReduce в конечном итоге должен завершиться. [5]

Storm стал проектом верхнего уровня Apache в сентябре 2014 года [6] и ранее находился в стадии инкубации с сентября 2013 года. [7] [8]

Развитие [ править ]

Apache Storm разработан под лицензией Apache License , что делает его доступным для использования большинству компаний. [9] Git используется для контроля версий, а Atlassian JIRA - для отслеживания проблем в рамках программы Apache Incubator.

Архитектура Apache Storm [ править ]

Кластер Apache Storm состоит из следующих важнейших компонентов:

  • Узлы. Есть два типа узлов: главные узлы и рабочие узлы. Мастер узел выполняет демон Nimbus , который распределяет задачу к машинам и следит за их выступления. С другой стороны, рабочий узел запускает демон под названием Supervisor, который назначает задачи другим рабочим узлам и управляет ими в соответствии с потребностями. Поскольку Storm не может отслеживать состояние и работоспособность кластера, для решения этой проблемы он развертывает ZooKeeper, который соединяет Nimbus с супервизорами.
  • Компоненты. Storm состоит из трех важнейших компонентов: топологии, потока и источника. Топология - это сеть, состоящая из Stream и Spout. Stream - это неограниченный конвейер кортежей, а Spout - это источник потоков данных, который преобразует данные в кортеж потоков и отправляет их для обработки. [ необходима цитата ]

Одноранговые платформы [ править ]

Storm - всего лишь один из десятков механизмов обработки потоковых данных, более полный список см. В разделе Обработка потоков . Twitter анонсировал Heron 2 июня 2015 года [11], который API-интерфейс совместим со Storm. Существуют и другие сопоставимые механизмы потоковой передачи данных, такие как Spark Streaming и Flink . [12]

См. Также [ править ]

Ссылки [ править ]

  1. ^ Марц, Натан. «О Натане Марзе» . Натан Марц . Проверено 28 марта 2013 года .
  2. ^ "Сайт BackType (несуществующий)" . BackType . Проверено 28 марта 2013 года .
  3. ^ "Буря приближается: подробности и планы по выпуску" . Инженерный блог . Twitter Inc . Проверено 29 июля 2015 года .
  4. ^ "Штормовая кодовая база" . Github . Проверено 8 февраля 2013 года .
  5. ^ «Учебное пособие - Компоненты грозового кластера» . Документация . Apache Storm . Проверено 29 июля 2015 года .
  6. ^ «Apache Storm переходит к проекту верхнего уровня» .
  7. ^ «Статус инкубации Storm Project» . Фонд программного обеспечения Apache . Проверено 29 октября 2013 года .
  8. ^ "Штормовое предложение" . Фонд программного обеспечения Apache . Проверено 29 октября 2013 года .
  9. ^ "Powered By Storm" . Документация . Apache Storm . Проверено 29 июля 2015 года .
  10. ^ "Apache Storm" . storm.apache.org . Проверено 18 августа 2017 года .
  11. ^ "Полет быстрее с Twitter Heron" . Инженерный блог . Twitter Inc . Дата обращения 3 июня 2015 .
  12. ^ Чинтапалли, Санкет; Дагит, Дерек; Эванс, Бобби; Фаривар, Реза; Грейвс, Томас; Холдербо, Марк; Лю, Чжо; Нусбаум, Кайл; Патил, Кишоркумар; Пэн, Боян Джерри; Поулски, Пол (май 2016 г.). «Тестирование механизмов потоковых вычислений: Storm, Flink и Spark Streaming». 2016 IEEE International Параллельная и распределенная обработка Symposium Мастерские (IPDPSW) . IEEE. С. 1789–1792. DOI : 10.1109 / IPDPSW.2016.138 . ISBN 978-1-5090-3682-0.

Внешние ссылки [ править ]

  • Домашняя страница проекта