Распределенные и отказоустойчивые вычисления в реальном времени | |
Разработчики) | Backtype, Twitter |
---|---|
Стабильный выпуск | 2.2.0 / 30 июня 2020 г . |
Репозиторий | Штормовой репозиторий |
Написано в | Clojure и Java |
Операционная система | Кроссплатформенность |
Тип | Распределенная потоковая обработка |
Лицензия | Лицензия Apache 2.0 |
Интернет сайт | шторм |
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.
Версия | Дата выхода |
---|---|
2.2.0 | 30 июнь 2020 |
2.1.0 | 6 сентября 2019 г. |
1.2.3 | 18 июля 2019 г. |
2.0.0 | 30 мая 2019 |
1.1.4 | 8 января 2019 г. |
1.2.2 | 4 июн 2018 |
1.1.3 | |
1.0.7 | 3 мая 2018 |
1.2.1 | 19 февраля 2018 г. |
1.2.0 | 15 февраля 2018 г. |
1.1.2 | |
1.0.6 | 14 февраля 2018 г. |
1.0.5 | 15 сентября 2017 г. |
1.1.1 | 1 августа 2017 г. |
1.0.4 | 28 июля 2017 г. |
1.1.0 | 29 марта 2017 г. |
1.0.3 | 14 февраля 2017 г. |
0.10.2 | 14 сентября 2016 г. |
0.9.7 | 7 сентября 2016 г. |
1.0.2 | 10 августа 2016 г. |
1.0.1 | 6 мая 2016 |
0.10.1 | 5 мая 2016 |
1.0.0 | 12 апреля 2016 г. |
0.10.0 | 5 ноября 2015 г. |
0.9.6 | |
0.9.5 | 4 июня 2015 г. |
0.9.4 | 25 марта 2015 г. |
0.9.3 | 25 ноября 2014 г. |
0.9.2 | 25 июня 2014 г. |
0.9.1 | 10 февраля 2014 г. |
Историческая (не Apache) версия | Дата выхода |
0.9.0 | 8 декабря 2013 г. |
0.8.2 | 11 января 2013 г. |
0.8.1 | 6 сентября 2012 г. |
0.8.0 | 2 августа 2012 г. |
0.7.0 | 28 февраля 2012 г. |
0.6.0 | 15 декабря 2011 г. |
0.5.0 | 19 сентября 2011 г. |
Архитектура 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]
См. Также [ править ]
- C ++ AMP
- Параллелизм данных
- Лямбда-архитектура
- Передача сообщений
- OpenMP
- OpenCL
- OpenHMPP
- Параллельные вычисления
- ОСАГО
- Поток (вычисления)
Ссылки [ править ]
- ^ Марц, Натан. «О Натане Марзе» . Натан Марц . Проверено 28 марта 2013 года .
- ^ "Сайт BackType (несуществующий)" . BackType . Проверено 28 марта 2013 года .
- ^ "Буря приближается: подробности и планы по выпуску" . Инженерный блог . Twitter Inc . Проверено 29 июля 2015 года .
- ^ "Штормовая кодовая база" . Github . Проверено 8 февраля 2013 года .
- ^ «Учебное пособие - Компоненты грозового кластера» . Документация . Apache Storm . Проверено 29 июля 2015 года .
- ^ «Apache Storm переходит к проекту верхнего уровня» .
- ^ «Статус инкубации Storm Project» . Фонд программного обеспечения Apache . Проверено 29 октября 2013 года .
- ^ "Штормовое предложение" . Фонд программного обеспечения Apache . Проверено 29 октября 2013 года .
- ^ "Powered By Storm" . Документация . Apache Storm . Проверено 29 июля 2015 года .
- ^ "Apache Storm" . storm.apache.org . Проверено 18 августа 2017 года .
- ^ "Полет быстрее с Twitter Heron" . Инженерный блог . Twitter Inc . Дата обращения 3 июня 2015 .
- ^ Чинтапалли, Санкет; Дагит, Дерек; Эванс, Бобби; Фаривар, Реза; Грейвс, Томас; Холдербо, Марк; Лю, Чжо; Нусбаум, Кайл; Патил, Кишоркумар; Пэн, Боян Джерри; Поулски, Пол (май 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.
Внешние ссылки [ править ]
- Домашняя страница проекта