Apache Storm - Apache Storm
Distribuované výpočty v reálném čase odolné proti chybám | |
Vývojáři | Backtype, Twitter |
---|---|
Stabilní uvolnění | 2.2.0 / 30. června 2020 |
Úložiště | Úložiště bouře |
Napsáno | Clojure & Jáva |
Operační systém | Cross-platform |
Typ | Distribuováno zpracování proudu |
Licence | Licence Apache 2.0 |
webová stránka | bouřka |
Apache Storm je distribuován zpracování proudu výpočetní rámec psaný převážně v Clojure programovací jazyk. Původně vytvořil Nathan Marz[1] a tým BackType,[2] projekt byl otevřen po získání Twitterem.[3] Využívá vlastní vytvořené „výtoky“ a „šrouby“ k definování zdrojů informací a manipulací, které umožňují dávkové, distribuované zpracování streamování dat. První vydání bylo 17. září 2011.[4]
Aplikace Storm je navržena jako „topologie“ ve tvaru a směrovaný acyklický graf (DAG) s tryskami a šrouby působícími jako vrcholy grafu. Okraje v grafu jsou pojmenovány streamy a přímá data z jednoho uzlu do druhého. Společně topologie funguje jako kanál transformace dat. Na povrchní úrovni je obecná topologická struktura podobná a MapReduce hlavní rozdíl spočívá v tom, že data jsou zpracovávána v reálném čase na rozdíl od jednotlivých dávek. Navíc topologie Storm běží neomezeně dlouho, dokud nejsou zabity, zatímco úloha MapReduce DAG musí nakonec skončit.[5]
Storm se stal projektem Apache na nejvyšší úrovni v září 2014[6] a byl předtím v inkubace od září 2013.[7][8]
Rozvoj
Apache Storm je vyvíjen pod Licence Apache, což je k dispozici většině společností k použití.[9] Git se používá k řízení verzí a Atlassian JIRA ke sledování problémů v rámci programu Apache Incubator.
Verze | Datum vydání |
---|---|
2.2.0 | 30. června 2020 |
2.1.0 | 6. září 2019 |
1.2.3 | 18. července 2019 |
2.0.0 | 30. května 2019 |
1.1.4 | 8. ledna 2019 |
1.2.2 | 4. června 2018 |
1.1.3 | |
1.0.7 | 3. května 2018 |
1.2.1 | 19. února 2018 |
1.2.0 | 15. února 2018 |
1.1.2 | |
1.0.6 | 14. února 2018 |
1.0.5 | 15. září 2017 |
1.1.1 | 1. srpna 2017 |
1.0.4 | 28. července 2017 |
1.1.0 | 29. března 2017 |
1.0.3 | 14. února 2017 |
0.10.2 | 14. září 2016 |
0.9.7 | 7. září 2016 |
1.0.2 | 10. srpna 2016 |
1.0.1 | 6. května 2016 |
0.10.1 | 5. května 2016 |
1.0.0 | 12. dubna 2016 |
0.10.0 | 5. listopadu 2015 |
0.9.6 | |
0.9.5 | 4. června 2015 |
0.9.4 | 25. března 2015 |
0.9.3 | 25. listopadu 2014 |
0.9.2 | 25. června 2014 |
0.9.1 | 10. února 2014 |
Historická (ne-Apache) verze | Datum vydání |
0.9.0 | 8. prosince 2013 |
0.8.2 | 11. ledna 2013 |
0.8.1 | 6. září 2012 |
0.8.0 | 2. srpna 2012 |
0.7.0 | 28. února 2012 |
0.6.0 | 15. prosince 2011 |
0.5.0 | 19. září 2011 |
Apache Storm Architecture
Klastr Apache Storm obsahuje následující důležité komponenty:
- Uzly- Existují dva typy uzlů: hlavní uzly a pracovní uzly. A Hlavní uzel provede démona Nimbus který přiřazuje úkoly strojům a sleduje jejich výkony. Na druhé straně Worker Node spustí volaného démona Dozorce který přiřazuje úkoly ostatním pracovním uzlům a provozuje je podle potřeby. Protože Storm nemůže monitorovat stav a stav clusteru, nasadí ZooKeeper k vyřešení tohoto problému, který spojuje Nimbus s supervizory.
- Komponenty- Storm má tři důležité komponenty: topologie, stream a spout. Topologie je síť tvořená Stream a Spout. Stream je neomezený kanál n-tic a Spout je zdroj datových proudů, který převádí data na n-tici proudů a odesílá do šroubů ke zpracování.[Citace je zapotřebí ]
Peer platformy
Storm je jen jedním z desítek motorů pro zpracování streamů, podrobnější seznam viz Zpracování streamu. Twitter oznámil Volavka 2. června 2015[11] což je API kompatibilní s Storm. Existují i jiné srovnatelné streamovací datové stroje, jako např Streamování jisker a Flink.[12]
Viz také
- C ++ AMP
- Datový paralelismus
- Lambda architektura
- Předávání zpráv
- OpenMP
- OpenCL
- OpenHMPP
- Paralelní výpočty
- TPL
- Vlákno (výpočetní)
Reference
- ^ Marz, Nathan. „O Nathanovi Marzovi“. Nathan Marz. Citováno 28. března 2013.
- ^ „Web BackType (zaniklý)“. BackType. Citováno 28. března 2013.
- ^ „Storm is coming: more details and plans to release“. Inženýrský blog. Twitter Inc.. Citováno 29. července 2015.
- ^ „Storm Codebase“. Github. Citováno 8. února 2013.
- ^ "Výukový program - Součásti bouřkového klastru". Dokumentace. Apache Storm. Citováno 29. července 2015.
- ^ „Absolventi Apache Storm na projekt nejvyšší úrovně“.
- ^ „Stav inkubace projektu Storm“. Softwarová nadace Apache. Citováno 29. října 2013.
- ^ „Návrh bouře“. Softwarová nadace Apache. Citováno 29. října 2013.
- ^ „Powered by Storm“. Dokumentace. Apache Storm. Citováno 29. července 2015.
- ^ "Apache Storm". storm.apache.org. Citováno 18. srpna 2017.
- ^ „Létání rychleji s Twitter Heron“. Inženýrský blog. Twitter Inc.. Citováno 3. června 2015.
- ^ Chintapalli, Sanket; Dagit, Derek; Evans, Bobby; Farivar, Reza; Graves, Thomas; Holderbaugh, Mark; Liu, Zhuo; Nusbaum, Kyle; Patil, Kishorkumar; Peng, Boyang Jerry; Poulosky, Paul (květen 2016). „Benchmarking Streaming Computation Engines: Storm, Flink a Spark Streaming“. 2016 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). IEEE. 1789–1792. doi:10.1109 / IPDPSW.2016.138. ISBN 978-1-5090-3682-0.