Casos de uso de Apache Kafka: impulsar la innovación en diversas industrias

Un joven con casco de realidad virtual

Autor

Mesh Flinders

Staff Writer

IBM Think

Apache Kafka es una plataforma de streaming distribuida y de código abierto que permite a los desarrolladores crear aplicaciones en tiempo real basadas en eventos. Con Apache Kafka, los desarrolladores pueden crear aplicaciones que utilicen continuamente registros de datos de transmisión y ofrezcan experiencias en tiempo real a los usuarios.

Ya sea consultando el saldo de una cuenta, viendo Netflix o navegando por LinkedIn, los usuarios de hoy esperan experiencias casi en tiempo real de las aplicaciones. La arquitectura basada en eventos de Apache Kafka se diseñó para almacenar datos y transmitir eventos en tiempo real, lo que la convierte en un broker de mensajes y una unidad de almacenamiento que permite experiencias de usuario en tiempo real en muchos tipos diferentes de aplicaciones.

Apache Kafka es uno de los sistemas de procesamiento de datos de código abierto más populares disponibles, con casi 50 000 empresas que lo utilizan y una participación de mercado del 26.7 %.

Diseño 3D de pelotas rodando en una pista

Las últimas novedades e insights sobre IA

Descubra insights y noticias de expertos sobre IA, la nube y mucho más en el boletín semanal Think. 

¿Cómo funciona Apache Kafka?

Kafka es un sistema distribuido, lo que significa que es una colección de diferentes programas de software que comparten recursos computacionales en múltiples nodos (computadoras) para lograr un único objetivo. Esta arquitectura hace que Kafka sea más tolerante a fallas que otros sistemas porque puede hacer frente a la pérdida de un solo nodo o máquina en el sistema y seguir funcionando.

Entre los sistemas distribuidos, Apache se ha distinguido como una de las mejores herramientas para crear arquitecturas de microservicios, un enfoque nativo de la nube en el que una sola aplicación se conforma de muchos componentes o servicios más pequeños y conectados. Además de los entornos nativos de la nube, los desarrolladores también usan Apache Kafka en Kubernetes, una plataforma de orquestación de contenedores de código abierto, para desarrollar aplicaciones con marcos sin servidor.

Para los desarrolladores, una gran parte del atractivo de Apache es su arquitectura única. Apache utiliza un sistema de mensajería de publicación y suscripción, un sistema que tiene lo que se conoce como comunicación asincrónica, lo que facilita a los desarrolladores la creación de aplicaciones avanzadas y arquitectónicamente complejas. La arquitectura de Apache se compone de tres categorías, eventos, productores y consumidores, y depende en gran medida de interfaces de programación de aplicaciones (API) para funcionar.

Conceptos importantes de Kafka

Apache Kafka trabaja con cuatro conceptos subyacentes: eventos, streaming, productores y consumidores. A continuación, se ofrece una breve descripción de cómo cada uno de esos modelos funciona conjuntamente para dotar a Apache Kafka de sus capacidades básicas.

Eventos y streaming

Cuando un usuario interactúa con un sitio web, para registrarse en un servicio o realizar un pedido, por ejemplo, se describe como un "evento". En la arquitectura Apache, un evento es cualquier mensaje que contiene información que describe lo que ha hecho un usuario. Por ejemplo, si un usuario se ha registrado en un sitio web, un registro de evento contendría su nombre y dirección de correo electrónico.

Quizás ninguna otra capacidad distingue a Apache Kafka de otras arquitecturas de almacenamiento de datos más que su habilidad para transmitir eventos, una capacidad conocida como "streaming de eventos" o simplemente "streaming" (y específicamente, en el caso de Apache Kafka, como transmisiones de Kafka). El streaming de eventos es cuando los datos generados por cientos o incluso miles de productores se envían simultáneamente a través de una plataforma a los consumidores.

Productores y consumidores

Un "productor", en la arquitectura Apache Kafka, es cualquier cosa que pueda crear datos, por ejemplo, un servidor web, una aplicación o componente de aplicación, un dispositivo de Internet de las cosas (IoT), y muchos otros. Un "consumidor" es cualquier componente que necesita los datos creados por el productor para funcionar. Por ejemplo, en una aplicación de IoT, los datos podrían ser información de sensores conectados a Internet, como un indicador de temperatura o un sensor en un vehículo sin conductor que detecta que un semáforo ha cambiado.

La arquitectura de Kafka está diseñada de tal manera que puede manejar una afluencia constante de datos de eventos generados por los productores, mantener registros precisos de cada evento y publicar constantemente un flujo de estos registros para los consumidores.

IBM Kafka

¿Qué es Kafka?

Whitney Lee de IBM Cloud explica cómo Apache Kafka, una plataforma de transmisión distribuida de código abierto, permite a los desarrolladores crear aplicaciones que utilizan event streams para crear aplicaciones de rendimiento.

Casos de uso de Apache Kafka

La capacidad central de Apache Kafka de procesamiento de datos en tiempo real ha abierto las compuertas en términos de lo que las aplicaciones pueden hacer en muchas industrias. Con Kafka, las empresas están explorando nuevas formas de aprovechar los datos en tiempo real para aumentar sus ingresos, impulsar la transformación digital y crear experiencias agradables para sus clientes. Estos son algunos de los ejemplos más llamativos.

Internet de las cosas (IoT)

El Internet de las cosas (IoT), una red de dispositivos integrados con sensores que les permiten recopilar y compartir datos a través de Internet, depende en gran medida de la arquitectura Apache Kafka. Por ejemplo, los sensores conectados a un molino de viento utilizan capacidades de IoT para transmitir datos sobre cosas como la velocidad del viento, la temperatura y la humedad a través de Internet. En esta arquitectura, cada sensor es un productor, generando datos cada segundo que envía a un servidor backend o base de datos, el consumidor, para su procesamiento.

La arquitectura de Kafka facilita esta transmisión y recepción de datos de ida y vuelta, así como su procesamiento, en tiempo real, lo que permite a los científicos e ingenieros realizar un seguimiento de las condiciones meteorológicas a cientos o miles de kilómetros de distancia. Las capacidades de registro y cola de mensajes de Apache garantizan la calidad y precisión de los datos que se recopilan.

Servicios financieros

De la misma manera que Apache permite la recopilación de datos a través de dispositivos IoT que pueden transmitirse a los consumidores en tiempo real, también permite la recopilación y el análisis de información del mercado de valores.

Apache se ha utilizado para muchas cargas de trabajo de alto volumen y críticas para el negocio, esenciales para la negociación de acciones y el monitoreo de mercados financieros. Algunos de los bancos e instituciones financieras más grandes del mundo, como PayPal, Ing y JP Morgan Chase, lo utilizan para análisis de datos en tiempo real, detección de fraudes financieros, gestión de riesgos en operaciones bancarias, cumplimiento normativo, análisis de mercado y más.

Venta minorista

Los minoristas en línea y los sitios de comercio electrónico deben procesar miles de pedidos desde su aplicación o sitio web todos los días, y Kafka desempeña un papel central para que esto suceda para muchas empresas. El tiempo de respuesta y la gestión de relaciones con los clientes (CRM) son clave para el éxito en la venta minorista, por lo que es importante que los pedidos se procesen de forma rápida y precisa.

Kafka ayuda a simplificar la comunicación entre clientes y empresas, utilizando su pipeline de datos para registrar eventos con precisión y mantener registros de pedidos y cancelaciones, alertando a todas las partes relevantes en tiempo real. Además de procesar pedidos, Kafka genera datos precisos que se pueden analizar para evaluar el rendimiento empresarial y descubrir insights valiosos.

Atención médica

La industria de la atención médica confía en Kafka para conectar los hospitales con los registros de salud electrónicos (EHR) críticos y la información confidencial del paciente. Kafka facilita la comunicación bidireccional que impulsa aplicaciones que dependen de datos generados en tiempo real por varias fuentes diferentes. Las capacidades de Kafka también permiten compartir conocimientos en tiempo real; por ejemplo, la alergia de un paciente a un determinado medicamento que puede salvar vidas.

Además de ayudar a los médicos a obtener datos en tiempo real que informan cómo tratan a los pacientes, Kafka también es fundamental para la comunidad de investigación médica. Sus capacidades de almacenamiento de datos y analytics ayudan a los investigadores a analizar los datos médicos para obtener insights sobre enfermedades y atención al paciente, lo que acelera los avances médicos.

Telecomunicaciones

Las empresas de telecomunicaciones utilizan Apache para una variedad de servicios. Principalmente, su procesamiento de flujo de datos en tiempo real se utiliza para monitorear las redes que alimentan millones de dispositivos inalámbricos en todo el mundo. Apache recopila datos sobre las operaciones de red que transmite en tiempo real a servidores que los analizan constantemente en busca de cualquier problema. Los registros que Apache mantiene para las empresas de telecomunicaciones incluyen llamadas, mensajes de texto, datos de clientes, uso, llamadas interrumpidas y más.

Juegos

Las plataformas de videojuegos más avanzadas de la actualidad se basan en la comunicación en tiempo real entre jugadores que se encuentran a cientos e incluso miles de kilómetros de distancia. Si hay algún retraso en un juego en el que el tiempo de reacción de los jugadores es clave para su éxito, el rendimiento se verá afectado. Además, la industria del juego ha estado en auge últimamente, creciendo a una tasa anual compuesta (CAGR) del 13.4 % y aumentando el escrutinio de sus principales métricas operativas.

Apache potencia la comunicación y la interacción ultrarrápidas entre los jugadores que hacen que los ecosistemas de juegos hiperreales populares sean tan populares. Los nuevos juegos dependen de las capacidades de streaming en tiempo real de Apache, así como de sus funciones de análisis en tiempo real y almacenamiento de datos. Además, el pipeline de streaming de Apache ayuda a los jugadores a mantenerse en contacto en tiempo real al garantizar que los movimientos se transmitan a otros jugadores al instante. 

Beneficios de Apache Kafka

Los desarrolladores e ingenieros de algunas de las empresas más grandes y modernas del mundo utilizan Apache para crear muchas aplicaciones empresariales en tiempo real. Apache Kafka está detrás de las aplicaciones que sirven a las industrias financieras, los gigantes de las compras en línea, las plataformas de streaming de video, los innovadores de videojuegos y más. Desarrollar con Kafka tiene muchas ventajas sobre otras plataformas. Estos son algunos de sus beneficios más populares.

Velocidad

El sistema de procesamiento de datos de Kafka emplea API de una manera única que lo ayudan a optimizar la integración de datos con muchos otros diseños de almacenamiento de bases de datos, como las populares arquitecturas SQL y NoSQL, utilizadas para analytics de big data.

Escalabilidad

Kafka se creó para abordar problemas de latencia elevada en el procesamiento de colas por lotes en algunos de los sitios web más concurridos del mundo. Tiene lo que se conoce como escalabilidad elástica multiclúster, lo que permite que los flujos de trabajo se aprovisionen en varios clústeres de Kafka, en lugar de solo uno, lo que permite una mayor escalabilidad, alto rendimiento y baja latencia.

Conectividad

Apache Connect, una herramienta de transmisión de datos, viene con 120 conectores predefinidos que permiten que Apache se integre con todas las soluciones de almacenamiento de datos de backend más populares, incluidas Amazon S3 de AWS, MongoDB, Google BigQuery, ElasticSearch, Azure, DataDog y más. Los desarrolladores que utilizan Apache pueden acelerar el desarrollo de aplicaciones con soporte para cualquier requisito que tenga su organización.

Almacenamiento y seguimiento

Dado que algunos de los sitios web más grandes y exigentes del mundo utilizan Apache, debe poder registrar la actividad de los usuarios de forma rápida y precisa para evitar interrupciones. Apache registra eventos frecuentes como el registro de usuarios, las visitas a la página, las compras y otra información relacionada con el seguimiento de la actividad del sitio web en tiempo real. Luego, agrupa los datos por tema y los almacena en una red distribuida para un acceso rápido y fácil.

Mensajería

Apache recibe y mantiene los mensajes en una cola, un contenedor utilizado para almacenar y transmitir mensajes. El contenedor conecta los mensajes con las aplicaciones de los consumidores y el usuario. Apache está diseñado de manera similar a otros brokers de mensajes populares, como RabbitMQ; pero a diferencia de Rabbit y estos otros brokers, divide sus mensajes en temas de Kafka utilizando una clave de mensaje que se puede usar para filtrar los mensajes por relevancia.

Procesamiento de datos

Uno de los atributos más atractivos de Apache es su capacidad para capturar y almacenar datos de eventos en tiempo real. Otros pipelines de datos en tiempo real populares deben ejecutarse en lo que se denomina un lote programado, un lote de datos que solo se puede procesar en un momento previamente programado. El diseño de Apache permite que los datos se procesen en tiempo real, lo que permite que funcionen tecnologías como IoT, analytics y otras que dependen del procesamiento de datos en tiempo real.

Aprenda más

Apache Kafka se creó para almacenar datos y transmitir eventos en tiempo real, brindando experiencias de usuario dinámicas en un conjunto diverso de aplicaciones. IBM Event Streams ayuda a las empresas a optimizar Kafka con una plataforma de código abierto que se puede desplegar como un servicio totalmente gestionado en IBM Cloud o entornos on premises como parte de Event Automation.

Vista superior de un hombre sentado en un banco

Insights que no puede perderse. Suscríbase a nuestros boletines.

Vaya más allá del despliegue publicitario con las novedades de los expertos en IA, computación cuántica, nube, seguridad y mucho más.

Suscríbase hoy
Soluciones relacionadas
IBM Event Streams

IBM® Event Streams es un software de transmisión de eventos construido sobre Apache Kafka de código abierto. Está disponible como servicio totalmente gestionado en IBM® Cloud o para autohospedaje.

Explore Event Streams
Software y soluciones de integración

Desbloquee el potencial empresarial con las soluciones de integración de IBM, y conecte aplicaciones y sistemas para acceder a datos críticos de forma rápida y segura.

Explore las soluciones de integración
Servicios de consultoría en la nube

Desbloquee nuevas capacidades e impulse la agilidad empresarial con los servicios de asesoramiento en la nube de IBM.

Explore los servicios de consultoría en la nube
Dé el siguiente paso

IBM® Event Streams es un software de transmisión de eventos construido sobre Apache Kafka de código abierto. Está disponible como servicio totalmente gestionado en IBM® Cloud o para autohospedaje.

Explore Event Streams Más información