Flink Stream Batch Integrated Computing (4): módulo funcional Flink

Tabla de contenido

Arquitectura funcional de Flink

Flink de entrada y salida


Arquitectura funcional de Flink

Flink es un motor informático distribuido con una arquitectura en capas. La implementación de cada capa depende de los servicios proporcionados por la capa inferior, mientras que proporciona interfaces y servicios abstractos para que los use la capa superior.

La arquitectura de Flink se puede dividir en 4 capas, incluida la capa de implementación de implementación, la capa de núcleo central, la capa de API y la capa de biblioteca

  1. Capa de implementación: implica principalmente el modo de implementación de Flink. Flink admite múltiples modos de implementación, como local (local), clúster (independiente/YARN), servidor en la nube (GCE/EC2).

Puede iniciar una sola JVM, dejar que Flink ejecute Flink en modo local o ejecutar en modo de clúster independiente, y también admitir Flink ON YARN. Las aplicaciones de Flink se pueden enviar directamente a YARN para que se ejecuten. Flink también puede ejecutarse en GCE (Google Cloud Service ) y EC2 (servicios en la nube de Amazon)

  1. Capa central: proporciona todas las implementaciones principales que admiten la computación Flink, como el procesamiento de secuencias distribuidas, la asignación de JobGraph a ExecutionGraph, la programación, etc., y proporciona servicios básicos para las API de capa superior.

La capa principal (tiempo de ejecución) proporciona dos conjuntos de API principales además del tiempo de ejecución, la API DataStream (procesamiento de transmisión) y la API DataSet (procesamiento por lotes)

Capa de procesamiento de flujo con estado: la capa inferior de abstracción solo proporciona flujos de datos con estado, que están integrados en la API de flujo de datos (DataStream API) a través de funciones de procesamiento. Los usuarios pueden procesar libremente un solo flujo o múltiples flujos a través de él y mantener la consistencia y la tolerancia a fallas. Al mismo tiempo, los usuarios pueden registrar la hora del evento y procesar las devoluciones de llamadas para implementar una lógica de cálculo compleja.

  1. Capa de API: realiza principalmente el procesamiento de flujo orientado a secuencias ilimitadas y la API de procesamiento por lotes orientada a lotes, entre los cuales, el procesamiento orientado a secuencias corresponde a la API DataStream y el procesamiento orientado a lotes corresponde a la API DataSet.
  2. Capa de biblioteca: esta capa también se puede llamar "capa de marco de aplicación". Es un marco de implementación de cómputo construido sobre la capa API para cumplir con aplicaciones específicas de acuerdo con la división de la capa API. También corresponde al procesamiento continuo y al procesamiento por lotes. respectivamente Dos categorías. El procesamiento orientado a flujo admite el procesamiento de eventos complejos (Procesamiento de eventos complejos, CEP), operaciones basadas en SQL (operaciones relacionales basadas en tablas); el procesamiento orientado a lotes admite FlinkML (biblioteca de aprendizaje automático), Gelly (procesamiento de gráficos).

SQL puede ejecutarse tanto en DataStreamAPI como en DataSet API.

Flink de entrada y salida

El escenario de aplicación más adecuado para Flink es el escenario de procesamiento de datos de baja latencia (procesamiento de datos): una canalización de alta simultaneidad procesa datos con latencia y confiabilidad de nivel de milisegundos.

Como miembro del ecosistema de big data, Flink se puede utilizar en combinación con otros componentes del ecosistema además de sí mismo.En términos generales, hay aspectos de entrada y salida.

Los diagramas de bloques en los lados izquierdo y derecho de la siguiente figura muestran que el fondo verde es la escena del procesamiento continuo y el fondo azul es la escena del procesamiento por lotes.

Introduzca Conectores a la izquierda

Métodos de procesamiento de transmisión: incluidos Kafka (cola de mensajes), AWS kinesis (servicio de transmisión de datos en tiempo real), RabbitMQ (cola de mensajes), NIFI (canalización de datos), Twitter (API)

Método de procesamiento por lotes: incluido HDFS (sistema de archivos distribuido), HBase (base de datos en columnas distribuida), Amazon S3 (sistema de archivos), MapR FS (sistema de archivos), ALLuxio (sistema de archivos distribuido basado en la memoria)

Conectores de salida a la derecha

Métodos de procesamiento de transmisión: incluidos Kafka (cola de mensajes), AWS kinesis (servicio de transmisión de datos en tiempo real), RabbitMQ (cola de mensajes), NIFI (canalización de datos), Cassandra (base de datos NOSQL), ElasticSearch (búsqueda de texto completo), HDFS rodante archivo (archivo rodante)

Método de procesamiento por lotes: incluido HBase (base de datos en columnas distribuida), HDFS (sistema de archivos distribuido)

Supongo que te gusta

Origin blog.csdn.net/victory0508/article/details/131322662
Recomendado
Clasificación