Faust es una librería de procesamiento en flujo distribuido que ha sido diseñada y construida para manejar el procesamiento de grandes cantidades de datos en tiempo real. Se inspira en Kafka Streams, pero adopta un enfoque ligeramente diferente en el procesamiento de los flujos.
Faust está escrito en Python 3, aprovechando así sus notables mejoras de rendimiento y se integra con su librería asyncio (Asynchronous I/O), escrita para facilitar los procesos asíncronos de alto rendimiento.
El código fuente es lo suficientemente corto como para ser fácil de entender y sirve como un excelente recurso para aprender más sobre cómo funcionan tanto Kafka Streams como otros sistemas similares. A diferencia de la mayoría de frameworks de procesamiento en streaming, Faust no utiliza un domain-specific language (DSL).
¿Cómo podemos utilizar Faust?
Faust, mayormente, nos simplifica el diseño de arquitecturas de data streaming, que tradicionalmente han sido complejas y también, podemos listar otras posibles aplicaciones en nuestros negocios:
- Risk and fraud detection (Detección de riesgos y fraudes)
- Ad tracking
- Quality monitoring (Monitoreo de la calidad de ejecución nuestras órdenes)
- Distributed streaming (Transmisión distribuida entre bases de datos)
- Event logging pipelines (registro de eventos)
- News aggregation and tagging (Agregación de noticias y etiquetado)
Si queremos saber más sobre Faust podemos colaborar en su proyecto de GitHub.
Libro recomendación
La recomendación de hoy es el libro de Manish Kumar y Chanchal Singh: “Building Data Streaming Applications with Apache Kafka”, quien nos dará un más que interesante paseo por Apache Kafka clusters.
NOTA: Recuerda que si pulsas en el enlace del libro, me gano una pequeña comisión sin que a ti te cueste nada extra y me estarás ayudando con los costes de mantenimiento del Blog.
Comentarios, opiniones y valoración: Me gustaría saber qué tienes que decir a través de las redes sociales mediante el hashtag #theninjacto.
Autor: Joakim Vivas