Articulo de referencia

Tormenta Apache

{{cite web|url=https://storm.apache.org/2025/01/25/storm280-released.html|title=Apache Storm 2.8.0 Released|access-date=27 February 2025}} "},"operating system":{"wt":"[[Cross-p...

Apache Storm es un marco de computación de procesamiento de flujos distribuidos escrito principalmente en el lenguaje de programación Clojure . Creado originalmente por Nathan Marz [ 2 ] y su equipo en BackType, [ 3 ] el proyecto se convirtió en código abierto tras ser adquirido por Twitter. [ 4 ] Utiliza "spouts" y "bolts" personalizados para definir fuentes de información y manipulaciones que permiten el procesamiento distribuido por lotes de datos en tiempo real. Su lanzamiento inicial fue el 17 de septiembre de 2011. [ 5 ]

Una aplicación Storm se diseña como una "topología" con forma de grafo acíclico dirigido (DAG), donde los nodos actúan como spouts y bolts. Las aristas del grafo se denominan streams y dirigen los datos de un nodo a otro. En conjunto, la topología funciona como una canalización de transformación de datos. A simple vista, la estructura general de la topología es similar a la de un trabajo MapReduce , con la principal diferencia de que los datos se procesan en tiempo real en lugar de en lotes individuales. Además, las topologías de Storm se ejecutan indefinidamente hasta que se detienen, mientras que un DAG de un trabajo MapReduce debe finalizar eventualmente. [ 6 ]

Storm se convirtió en un proyecto de nivel superior de Apache en septiembre de 2014 [ 7 ] y anteriormente estuvo en incubación desde septiembre de 2013. [ 8 ] [ 9 ]

Desarrollo

Apache Storm se desarrolla bajo la Licencia Apache , lo que lo hace disponible para que la mayoría de las empresas lo utilicen. [ 10 ] Git se utiliza para el control de versiones y Atlassian Jira para el seguimiento de incidencias, dentro del programa Apache Incubator.

Arquitectura de Apache Storm

El clúster Apache Storm se compone de los siguientes componentes críticos:

  • Nodos: Existen dos tipos de nodos: nodos maestros y nodos trabajadores. Un nodo maestro ejecuta el demonio Nimbus , que asigna tareas a las máquinas y supervisa su rendimiento. Por otro lado, un nodo trabajador ejecuta el demonio Supervisor , que asigna tareas a otros nodos trabajadores y los gestiona según sea necesario. Dado que Storm no puede supervisar el estado y la salud del clúster, implementa ZooKeeper para solucionar este problema, conectando Nimbus con los Supervisores.
  • Componentes: Storm tiene tres componentes críticos: Topología, Flujo y Spout. La Topología es una red formada por un Flujo y un Spout. El Flujo es una tubería ilimitada de tuplas y el Spout es la fuente de los flujos de datos, que convierte los datos en tuplas de flujos y los envía a los bolts para su procesamiento. [ 12 ]

Plataformas entre pares

Storm es solo uno de los muchos motores de procesamiento de flujos de datos; para obtener una lista más completa, consulte Procesamiento de flujos de datos . Twitter anunció Heron el 2 de junio de 2015 [ 13 ] , que es compatible con la API de Storm. Existen otros motores de datos de transmisión comparables, como Spark Streaming y Flink [ 14 ] .

Véase también

Referencias

  1. "Lanzamiento de Apache Storm 2.8.0" . Consultado el 27 de febrero de 2025 .
  2. Marz, Nathan. "Acerca de Nathan Marz" . Nathan Marz . Consultado el 28 de marzo de 2013 .
  3. "Sitio web de BackType (desaparecido)" . BackType . Consultado el 28 de marzo de 2013 .
  4. "Se avecina una tormenta: más detalles y planes para su lanzamiento" . Blog de ingeniería . Twitter Inc. Consultado el 29 de julio de 2015 .
  5. "Código fuente de Storm" . Github . Consultado el 8 de febrero de 2013 .
  6. "Tutorial - Componentes de un clúster Storm" . Documentación . Apache Storm . Consultado el 29 de julio de 2015 .
  7. "Apache Storm asciende a proyecto de primer nivel" .
  8. "Estado de incubación del proyecto Storm" . Apache Software Foundation . Consultado el 29 de octubre de 2013 .
  9. "Propuesta Storm" . Apache Software Foundation . Consultado el 29 de octubre de 2013 .
  10. "Powered By Storm" . Documentación . Apache Storm . Consultado el 29 de julio de 2015 .
  11. "Apache Storm" . storm.apache.org . Consultado el 18 de agosto de 2017 .
  12. "PROCESAMIENTO DE FLUJO DE DATOS Y PROCESAMIENTO DE GRANDES DATOS" (PDF) .
  13. "Volando más rápido con Twitter Heron" . Blog de ingeniería . Twitter Inc. Consultado el 3 de junio de 2015 .
  14. Chintapalli, Sanket; Dagit, Derek; Evans, Bobby; Farivar, Reza; Graves, Thomas; Holderbaugh, Mark; Liu, Zhuo; Nusbaum, Kyle; Patil, Kishorkumar; Peng, Boyang Jerry; Poulosky, Paul (mayo de 2016). "Benchmarking Streaming Computation Engines: Storm, Flink and Spark Streaming". 2016 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW) . IEEE. págs. 1789–1792 . doi : 10.1109/IPDPSW.2016.138 . ISBN  978-1-5090-3682-0. S2CID 2180634 . 
  • Página principal del proyecto
Obtenido de " https://en.wikipedia.org/w/index.php?title=Apache_Storm&oldid=1357203588 "