Апач Шторм
Разработчик(и) | Бэктайп, Твиттер |
---|---|
Стабильная версия | 2.5.0
/ 4 августа 2023 г [ 1 ] |
Репозиторий | Репозиторий Шторма |
Написано в | Кложур и Java |
Операционная система | Кросс-платформенный |
Тип | Распределенная потоковая обработка |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | шторм |
Apache Storm — это среда вычислений с распределенной потоковой обработкой, написанная преимущественно на языке программирования Clojure . Первоначально создано Натаном Марцем [ 2 ] и команда BackType, [ 3 ] исходный код проекта был открыт после того, как его приобрел Twitter. [ 4 ] Он использует специально созданные «носики» и «болты» для определения источников информации и манипуляций, позволяющих осуществлять пакетную распределенную обработку потоковых данных. Первоначальный выпуск состоялся 17 сентября 2011 года. [ 5 ]
Приложение Storm спроектировано как «топология» в форме ориентированного ациклического графа (DAG) с носиками и болтами, выступающими в качестве вершин графа. Ребра графа называются потоками и направляют данные от одного узла к другому. В совокупности топология действует как конвейер преобразования данных. На поверхностном уровне общая структура топологии аналогична заданию MapReduce , с основным отличием в том, что данные обрабатываются в реальном времени, а не отдельными пакетами. Кроме того, топологии Storm работают неопределенно долго, пока не будут уничтожены, а DAG задания MapReduce в конечном итоге должен завершиться. [ 6 ]
Storm стал проектом верхнего уровня Apache в сентябре 2014 года. [ 7 ] и ранее находился в инкубационном состоянии с сентября 2013 года. [ 8 ] [ 9 ]
Разработка
[ редактировать ]Apache Storm разработан по лицензии Apache , что делает его доступным для использования большинству компаний. [ 10 ] Git используется для контроля версий, а Atlassian JIRA для отслеживания проблем в рамках программы Apache Incubator.
Версия | Дата выпуска |
---|---|
2.5.0 | 4 августа 2023 г. |
2.4.0 | 25 марта 2022 г. |
2.3.0 | 27 сентября 2021 г. |
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 состоит из трех важнейших компонентов: топологии, потока и Spout. Топология — это сеть, состоящая из Stream и Spout. Stream — это неограниченный конвейер кортежей, а Spout — источник потоков данных, который преобразует данные в кортеж потоков и отправляет их на обработку. [ 12 ]
Одноранговые платформы
[ редактировать ]Storm — лишь один из десятков механизмов потоковой обработки. Более полный список см. в разделе « Потоковая обработка» . Twitter анонсировал Heron 2 июня 2015 г. [ 13 ] который API-совместим со Storm. Существуют и другие сопоставимые механизмы потоковой передачи данных, такие как Spark Streaming и Flink . [ 14 ]
См. также
[ редактировать ]- С++ AMP
- Параллелизм данных
- Лямбда-архитектура
- Передача сообщений
- OpenMP
- OpenCL
- OpenHMPP
- Параллельные вычисления
- ВГЗ
- Поток (вычисления)
Ссылки
[ редактировать ]- ^ «Выпущен Apache Storm 2.5.0» . Проверено 4 августа 2023 г.
- ^ Марц, Натан. «О Натане Марце» . Натан Марц . Проверено 28 марта 2013 г.
- ^ «Веб-сайт BackType (несуществующий)» . НазадТип . Проверено 28 марта 2013 г.
- ^ «Буря приближается: подробности и планы по выпуску» . Инженерный блог . Твиттер Инк . Проверено 29 июля 2015 г.
- ^ «Кодовая база Шторма» . Гитхаб . Проверено 8 февраля 2013 г.
- ^ «Учебное пособие — Компоненты кластера Storm» . Документация . Апач Шторм . Проверено 29 июля 2015 г.
- ^ «Apache Storm превращается в проект высшего уровня» .
- ^ «Статус инкубации проекта «Шторм»» . Фонд программного обеспечения Apache . Проверено 29 октября 2013 г.
- ^ «Штормовое предложение» . Фонд программного обеспечения Apache . Проверено 29 октября 2013 г.
- ^ «Приведенный в действие штормом» . Документация . Апач Шторм . Проверено 29 июля 2015 г.
- ^ «Апач-шторм» . www.storm.apache.org . Проверено 18 августа 2017 г.
- ^ «ПОТОКОВАЯ ОБРАБОТКА БОЛЬШИХ ДАННЫХ» (PDF) .
- ^ «Летайте быстрее с Twitter Heron» . Инженерный блог . Твиттер Инк . Проверено 3 июня 2015 г.
- ^ Чинтапалли, Санкет; Дагит, Дерек; Эванс, Бобби; Фаривар, Реза; Грейвс, Томас; Холдербо, Марк; Лю, Чжо; Нусбаум, Кайл; Патил, Кишоркумар; Пэн, Боян Джерри; Пулоски, Пол (май 2016 г.). «Сравнительный анализ потоковых вычислительных систем: потоковая передача Storm, Flink и Spark». Семинар Международного симпозиума IEEE по параллельной и распределенной обработке (IPDPSW) , 2016 г. IEEE. стр. 1789–1792. дои : 10.1109/IPDPSW.2016.138 . ISBN 978-1-5090-3682-0 . S2CID 2180634 .