Red de conocimiento informático - Material del sitio web - ¿Cuáles son las tecnologías que se pueden utilizar para implementar la computación en flujo en big data?

¿Cuáles son las tecnologías que se pueden utilizar para implementar la computación en flujo en big data?

Las tecnologías que se pueden utilizar para implementar la computación de flujo en big data son Storm, Flink y Spark Streaming.

El concepto de diseño de Storm es extraer cosas que no tienen nada que ver con la lógica empresarial específica y formar un marco, como fragmentación de big data, transferencia de datos, implementación y ejecución de tareas, etc. Los desarrolladores solo necesitan Lógica empresarial El código debe desarrollarse de acuerdo con las restricciones del marco y enviarse al marco para su ejecución.

Spark Streaming aprovecha inteligentemente las funciones de fragmentación y computación rápida de Spark, segmentando los datos transmitidos en tiempo real según el tiempo y fusionando los datos transmitidos durante un período de tiempo en un solo lote. a Spark para su procesamiento.

La forma en que Flink procesa flujos de datos en tiempo real también es muy similar a Spark Streaming. También segmenta los datos del flujo y los procesa en pequeños lotes. El procesamiento de flujo se considera un "ciudadano de primera clase" en Flink, y el soporte de Flink para el procesamiento de flujo también es más completo. Puede realizar operaciones de ventana en flujos de datos, dividir los flujos de datos en ventanas una por una y luego realizar cálculos.

Las principales características de Storm son las siguientes:

1. Modelo de programación sencillo. De manera similar a cómo MapReduce reduce la complejidad del procesamiento por lotes paralelo, Storm reduce la complejidad del procesamiento en tiempo real.

2. Se pueden utilizar varios lenguajes de programación. Puedes utilizar varios lenguajes de programación además de Storm. Clojure, Java, Ruby y Python son compatibles de forma predeterminada. Para agregar soporte para otros idiomas, simplemente implemente un protocolo de comunicación Storm simple.

3. Tolerancia a fallos. Storm gestiona fallas de trabajadores y nodos.

4. Ampliación horizontal. Los cálculos se realizan en paralelo a través de múltiples subprocesos, procesos y servidores.

5. Procesamiento confiable de mensajes. Storm garantiza que cada mensaje se procesará completamente al menos una vez. Cuando una tarea falla, es responsable de reintentar el mensaje desde la fuente.

6. El diseño del sistema garantiza que los mensajes se puedan procesar rápidamente, utilizando MQ como cola de mensajes subyacente.

7. Modo local. Storm tiene un "modo local" que emula completamente un clúster de Storm durante el procesamiento. Esto le permite desarrollar y realizar pruebas unitarias rápidamente.