Storm (Procesador de Eventos)

2 minuto(s) de lectura

Apache Storm es un marco de c谩lculo de procesamiento de flujo distribuido escrito principalmente en el lenguaje de programaci贸n Clojure. Originalmente creado por Nathan Marz y el equipo de BackType, el proyecto fue de c贸digo abierto despu茅s de ser adquirido por Twitter.

Utiliza 鈥渟pouts鈥 y 鈥渂olts鈥 creados a medida para definir las fuentes de informaci贸n y las manipulaciones para permitir el procesamiento por lotes y distribuido de datos de transmisi贸n. El lanzamiento inicial fue el 17 de septiembre de 2011.

Una aplicaci贸n Storm est谩 dise帽ada como una 鈥渢opolog铆a鈥 en forma de un gr谩fico ac铆clico dirigido (DAG) con boquillas y tornillos que act煤an como los v茅rtices del gr谩fico. Los bordes del gr谩fico se denominan flujos y datos directos de un nodo a otro. En conjunto, la topolog铆a act煤a como una tuber铆a de transformaci贸n de datos.

En un nivel superficial, la estructura de topolog铆a general es similar a un trabajo de 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 eliminan, mientras que un DAG de trabajo MapReduce finalmente debe finalizar.

Storm se convirti贸 en un proyecto de nivel superior de Apache en septiembre de 2014 y anteriormente estaba en incubaci贸n desde septiembre de 2013.

Desarrollo

Apache Storm est谩 desarrollado bajo la licencia de Apache , lo que lo pone a disposici贸n de la mayor铆a de las empresas. Git se usa para el control de versiones y Atlassian JIRA para el seguimiento de problemas, bajo el programa Apache Incubator.

Su versi贸n actual es la 2.1.0, lanzada el 6 de septiembre de 2019,

Arquitectura de Apache Storm

El cl煤ster de Apache Storm comprende los siguientes componentes cr铆ticos:

  • Nodos: hay dos tipos de nodos: nodos maestros y nodos de trabajo. Un Master Node ejecuta un demonio Nimbus que asigna tareas a las m谩quinas y monitorea sus actuaciones. Por otro lado, un nodo de trabajo ejecuta el demonio llamado Supervisor, que asigna las tareas a otros nodos de trabajo y los opera seg煤n la necesidad. Como Storm no puede monitorear el estado y la salud del cl煤ster, implementa ZooKeeper para resolver este problema que conecta a Nimbus con los Supervisores.
  • Componentes: Storm tiene tres componentes cr铆ticos: Su Topolog铆a, Corriente y Canal. La topolog铆a es una red compuesta por la Corriente y el Canal. La Corriente es una tuber铆a ilimitada de tuplas y el Canal es la fuente de los flujos de datos que convierte los datos en la tupla de flujos y los env铆a a los tornillos para ser procesados.

Plataforma de Pares

Storm no es m谩s que una de las docenas de motores de procesamiento de flujo. Para obtener una lista m谩s completa, consulte Procesamiento de flujo . Twitter anunci贸 Heron el 2 de junio de 2015, que es compatible a trav茅s de su API con Storm. Hay otros motores de transmisi贸n de datos comparables, como Spark Streaming y Flink.

Enlaces Externos

Desarrollador: Backtype, Twitter

Licencia: Apache 2.0

Escrito en: Clojure y Java

Sitio Web: https://storm.apache.org

Categor铆as: Aplicaciones Nube \ Computaci贸n Paralela \ Infraestructuras Nube

INF.: Esta obra contiene una traducci贸n total derivada de Storm - Procesador de Eventos de la Wikipedia en ingl茅s, versi贸n del 12 de Septiembre de 2019, publicada por sus editores bajo la Licencia Libre de GNU (es) y licencia CC BY 3.0.

Actualizado: