Relación entre Storm y otros componentes
Storm proporciona un marco de computación distribuida en tiempo real. Puede obtener mensajes en tiempo real de fuentes de datos (como conexión de Kafka y TCP), realizar computación en tiempo real de alto rendimiento y baja latencia en una plataforma en tiempo real, y exportar resultados a colas de mensajes o implementar persistencia de datos. Figura 1 muestra la relación entre Storm y otros componentes.
Relación entre Storm y Streaming
Tanto Storm como Streaming utilizan el kernel Apache Storm de código abierto. Sin embargo, la versión del kernel usada por Storm es 1.2.1 mientras que la usada por Streaming es 0.10.0. Streaming se utiliza para heredar servicios de transición en escenarios de actualización. Por ejemplo, si Streaming se ha desplegado en una versión anterior y los servicios se están ejecutando, Streaming puede seguir utilizándose después de la actualización. Se recomienda Storm en un nuevo clúster.
Storm 1.2.1 tiene las siguientes características nuevas:
- Caché distribuida: proporciona recursos externos (configuraciones) necesarios para compartir y actualizar la topología mediante herramientas de CLI. No es necesario volver a empaquetar y volver a desplegar la topología.
- Native Streaming Window API: proporciona las API basadas en ventanas.
- Programador de recursos: Agregó el complemento del programador de recursos. Al definir una topología, puede especificar el máximo de recursos disponibles y asignar cuotas de recursos a los usuarios, por lo tanto, para gestionar los recursos de topología de los usuarios.
- State management: proporciona a la API de Bolt el mecanismo de punto de control. Cuando un evento falla, Storm gestiona automáticamente el estado de Bolt y restaura el evento.
- Muestreo y depuración de mensajes: En la interfaz de usuario de Storm, puede habilitar o deshabilitar la depuración a nivel de topología o componente para enviar mensajes de flujo a registros especificados según la relación de muestreo.
- Análisis dinámica de Worker: En la interfaz de usuario de Storm, puede recopilar registros de jstack y heap del proceso de Worker y reiniciar el proceso de Worker.
- Ajustes dinámicos de registros de topología: Puede cambiar dinámicamente los registros de topología en ejecución en la interfaz de usuario de la CLI o Storm.
- Rendimiento mejorado: En comparación con las versiones anteriores, el rendimiento de Storm se ha mejorado mucho. Aunque el rendimiento de la topología está estrechamente relacionado con el caso de uso y la dependencia de servicios externos, el rendimiento es tres veces mayor en la mayoría de los escenarios.