Ahorra un 25 % (o incluso más) en tus costes de Kafka | Acepta el reto del ahorro con Kafka de Confluent

¿Qué es Apache Kafka®?

Apache Kafka es un sistema de streaming distribuido y de código abierto que se utiliza para el procesamiento en streaming, las pipelines de datos en tiempo real y las integraciones de datos a gran escala. Creada originalmente para gestionar los feeds de datos en tiempo real de LinkedIn en 2011, Kafka ha evolucionado rápidamente de una cola de mensajería a una plataforma de streaming de eventos completa que puede gestionar más de un millón de mensajes por segundo (y billones de mensajes al día).

Fundada por los creadores originales de Apache Kafka, Confluent ofrece los tutoriales, formación, servicios y asistencia de Kafka más completos del mercado. Además, Confluent ofrece servicios de streaming de datos totalmente gestionados y cloud-native que están diseñados para cualquier entorno en la nube, lo que garantiza la escalabilidad y la fiabilidad que necesitan las infraestructuras de datos de hoy día.

¿Por qué elegir Kafka?

Kafka tiene muchas ventajas. En la actualidad, más del 80 % de las empresas que aparecen en la lista Fortune 100 usan Kafka, en prácticamente todos los sectores y para innumerables casos de uso de cualquier tamaño. Kafka es la tecnología de facto que los desarrolladores y arquitectos utilizan para crear la última generación de aplicaciones de streaming de datos escalables en tiempo real.

Aunque esto se puede lograr con varias de las tecnologías disponibles en el mercado, aquí tienes algunas de los principales motivos por los que Kafka es tan popular.

Alto rendimiento

Kafka es capaz de manejar datos de alta velocidad y gran volumen, así como de procesar millones de mensajes por segundo. Esto lo hace ideal para aplicaciones que requieren procesamiento de datos en tiempo real e integración en múltiples servidores.

Gran escalabilidad

Los clusters de Kafka pueden ampliarse hasta mil brokers y gestionar billones de mensajes al día y petabytes de datos. El modelo de registro particionado de Kafka permite la expansión y contracción elástica de las capacidades de almacenamiento y procesamiento. Esta escalabilidad garantiza que Kafka pueda admitir una amplia gama de fuentes y streams de datos.

Baja latencia

Kafka puede gestionar un gran volumen de mensajes utilizando un cluster de máquinas con latencias de hasta 2 ms. Esta baja latencia es crucial para las aplicaciones que requieren procesamiento de datos en tiempo real y respuestas inmediatas a los streams de datos.

Almacenamiento permanente

Kafka almacena streams de datos de forma segura en un cluster distribuido, duradero y con tolerancia a los fallos. De este modo, se garantiza que los registros de datos se almacenen de forma fiable y se pueda acceder a ellos incluso si hay problemas con el servidor. El modelo de registro particionado mejora aún más la capacidad de Kafka para gestionar los streams de datos y ofrecer garantías de procesamiento «exactly-once».

Alta disponibilidad

Kafka puede ampliar los clusters de forma eficaz en las zonas de disponibilidad o conectarlos entre distintas regiones geográficas. Esta alta disponibilidad hace que Kafka tenga tolerancia a los fallos sin riesgo de pérdida de datos. El diseño de Kafka le permite gestionar varios suscriptores y sistemas de procesamiento en streaming externos sin problemas.

¿Cómo funciona Apache Kafka?

Apache Kafka se compone de una capa de almacenamiento y una capa de procesamiento, que permiten la ingesta de datos eficiente y en tiempo real, pipelines de datos en streaming y almacenamiento en sistemas distribuidos. Su diseño facilita el streaming de datos entre Kafka y otros sistemas externos, lo que permite gestionar fácilmente los datos en tiempo real y escalarlos en cualquier tipo de infraestructura.

Procesamiento a escala en tiempo real

Una plataforma de streaming de datos no estaría completa si no pudiese procesar y analizar los datos en el momento que se generan. La API de Kafka Streams es una biblioteca potente y ligera que facilita el procesamiento instantáneo, lo que permite añadir, crear ventanas con parámetros y unir datos dentro de un stream, entre muchas otras funciones. Está creada como una aplicación Java sobre Kafka, para que puedas mantener la continuidad del flujo de trabajo sin necesidad de clusters adicionales para gestionarla.

Almacenamiento duradero y persistente

Kafka ofrece un almacenamiento duradero al abstraer el registro distribuido de confirmaciones (commits) que se suele encontrar en las bases de datos distribuidas. Esto hace que Kafka pueda actuar como una «fuente única de información» y distribuir los datos en varios nodos para una alta disponibilidad en el despliegue, ya sea en un único centro de datos o en varias zonas de disponibilidad. Este almacenamiento duradero y persistente garantiza la integridad y la fiabilidad de los datos, incluso en caso de fallos en el servidor.

Publicar y suscribir

Kafka cuenta con un registro de confirmaciones (commits) humilde e inmutable. Los usuarios pueden suscribirse a ese registro y publicar datos en tantos sistemas o aplicaciones en tiempo real como elijan. A diferencia de las colas de mensajería tradicionales, Kafka es un sistema distribuido con una alta escalable y tolerancia a los errores. Esto permite a Kafka escalar desde aplicaciones individuales hasta implementaciones en toda la empresa. Por ejemplo, Kafka se utiliza para gestionar el emparejamiento de pasajeros y conductores en Uber, proporcionar análisis en tiempo real y mantenimiento predictivo en las casas inteligentes de British Gas y ofrecer numerosos servicios en tiempo real en LinkedIn.

¿Para qué se utiliza Kafka?

Si bien Apache Kafka suele utilizarse para crear pipelines de datos en streaming y aplicaciones de streaming en tiempo real, admite una gran variedad de casos de uso. Cualquier empresa que dependa de los datos o trabaje con ellos puede encontrar en Kafka una serie de ventajas muy tangibles.

Pipelines de datos

En el contexto de Apache Kafka, una pipeline de datos en streaming implica ingerir los datos de las fuentes en Kafka a medida que se crean y, a continuación, transmitir esos datos de Kafka a uno o más destinos. Esto permite que la integración de datos sea fluida y que el flujo de datos sea eficaz incluso entre distintos sistemas.

Procesamiento en streaming

El procesamiento en streaming incluye operaciones como filtros, uniones, mapas, agregaciones y otras transformaciones que las empresas aprovechan para distintos casos de uso. Kafka Streams, una biblioteca de procesamiento en streaming creada para Apache Kafka, permite a las empresas procesar datos en tiempo real, lo que la hace ideal para las aplicaciones que requieren procesamiento y análisis inmediatos de datos.

Análisis en streaming

Kafka ofrece una entrega de eventos de alto rendimiento. Cuando se combina con tecnologías de código abierto, como Druid, puede formar un potente gestor de análisis de streaming (SAM). Druid consume datos en streaming de Kafka para facilitar las consultas analíticas. Los eventos se cargan primero en Kafka, donde se almacenan en los brokers de Apache Kafka, y luego los consumen los workers de Druid en tiempo real. Este proceso hace posibles el análisis y la toma de decisiones en tiempo real.

Streaming ETL

Los procesos ETL en tiempo real con Kafka combinan distintos componentes y características, como los conectores source y sink de Kafka Connect, que se utilizan para consumir y producir datos desde y hacia cualquier otra base de datos, aplicación o API; Single Message Transforms (SMT), una función opcional de Kafka Connect; y Kafka Streams para el procesamiento continuo de datos en tiempo real a escala. En conjunto, garantizan que la transformación y la integración de los datos sean perfectamente eficaces.

Microservicios event-driven

Apache Kafka es la herramienta de microservicios más popular, ya que resuelve muchos problemas relacionados con su orquestación y, al mismo tiempo, potencia los atributos que estos pretenden alcanzar, como la escalabilidad, la eficiencia y la velocidad. Kafka también facilita la comunicación entre servicios, al tiempo que conserva una latencia ultrabaja y su tolerancia a los fallos. Esto lo convierte en una pieza esencial para crear arquitecturas de microservicios sólidas y escalables.

Al utilizar las funcionalidades de Apache Kafka, las empresas pueden crear pipelines de datos muy eficaces, procesar streams de datos en tiempo real, realizar análisis avanzados y desarrollar microservicios escalables, lo que garantiza que puedan dar respuesta a las necesidades de las aplicaciones data-driven más modernas.

Apache Kafka en acción

¿Quién utiliza Kafka?

Algunas de las marcas más importantes del mundo utilizan Kafka:

Airbnb logo
Netflix
Goldman Sachs
Linkedin
Microsoft
New York Times
Intuit

Para sacarle el máximo partido a Kafka, necesitas Confluent

Confluent, fundada por los desarrolladores originales de Kafka, ofrece la distribución más completa de Kafka y lo mejora con funciones adicionales comunitarias y comerciales diseñadas para enriquecer la experiencia del streaming —tanto para los operadores como para los desarrolladores en producción— a escala masiva.

Es muy probable que te encante lo que Apache Kafka® te ofrece. Pero seguramente no te guste gestionarlo. El servicio cloud-native, completo y totalmente gestionado de Confluent va más allá de Kafka, para que tus mejores empleados puedan centrarse en lo que de verdad aporta valor al negocio.

Kafka en la nube

Cloud-native

Hemos rediseñado Kafka para ofrecer la mejor experiencia en la nube de su clase, a cualquier escala y sin los gastos operativos que conlleva la gestión de la infraestructura. Confluent ofrece la única experiencia realmente cloud-native para Kafka: una experiencia serverless, elástica, rentable, de alta disponibilidad y de autoservicio a la altura de lo que esperan los desarrolladores.

Kafka completo

Completo

Para crear y mantener aplicaciones en tiempo real, se necesita algo más que un software de código abierto y el acceso a una infraestructura de nube escalable. Confluent adapta Kafka a las necesidades de la empresa y le ofrece a sus clientes el conjunto completo de herramientas que necesitan para crear aplicaciones de forma rápida, fiable y segura. Nuestras funciones totalmente gestionadas se entregan listas para usar, para cada caso de uso, desde la prueba de concepto (POC) hasta la producción.

Kafka ubicuo

Ubicuo

Las arquitecturas de datos distribuidas y complejas pueden ofrecer la escala, la fiabilidad y el rendimiento necesarios para casos de uso que hasta ahora eran impensables. Sin embargo, su funcionamiento es increíblemente complejo. La plataforma de streaming de datos completa y multi-cloud de Confluent facilita la entrada y salida de datos de Kafka con Connect, la gestión de la estructura de los datos mediante Confluent Schema Registry y su procesamiento en tiempo real con ksqlDB. Confluent se adapta a los clientes dondequiera que lo necesiten, impulsando y uniendo datos en tiempo real en todas las regiones, nubes y entornos locales.

Ponte en marcha en tan solo unos minutos

Al integrar datos históricos y en tiempo real en una única fuente de información, Confluent facilita la creación de una categoría completamente nueva de aplicaciones event-driven modernas, el acceso a una pipeline de datos universal y la implementación de nuevos casos de uso con total escalabilidad, seguridad y rendimiento.

Prueba Confluent gratis con 400 USD en créditos gratuitos que podrás gastar durante los primeros cuatro meses.