La casa del Mono Negro: Características del fregadero
El flujo de datos de Flume se ejecuta a través de eventos. El evento es la unidad de datos básica de Flume, que transporta datos de registro (en forma de matriz de bytes) e información de encabezado. Estos eventos son generados por fuentes externas al agente. Cuando una fuente captura un evento, se le da formato específicamente y luego la fuente envía el evento a canales (uno o varios). Puede pensar en un canal como un búfer que retendrá eventos hasta que el receptor haya terminado de procesarlos.
El receptor es responsable de guardar registros o enviar eventos a otra fuente.
Cuando un nodo falla, los registros se pueden transferir a otros nodos sin pérdida. Flume proporciona tres niveles de garantía de confiabilidad, de fuerte a débil:
De extremo a extremo (después de que el agente recibe los datos, primero escribe el evento en el disco y luego lo elimina después de que finaliza la transmisión de datos). exitosa; si la transmisión de datos falla, se puede retransmitir)
Almacenar en caso de falla (esta también es la estrategia adoptada por el escriba. Cuando el receptor de datos falla, escribe datos localmente y continúa enviando). datos después de la recuperación).
Besteffort (una vez enviados los datos al receptor, no serán confirmados).
Todavía depende de los canales. Se recomienda utilizar FileChannel y los eventos persisten en el sistema de archivos local (rendimiento deficiente).