¿Qué es Apache Pulsar?

Un cielo nocturno estrellado sobre montañas nevadas y un cuerpo de agua.

Autores

Alice Gomstyn

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

¿Qué es Apache Pulsar?

Apache Pulsar es una plataforma de transmisión y mensajería distribuida de código abierto nativa de la nube. Si bien Apache Kafka ha sido durante mucho tiempo el estándar para la transmisión de eventos en tiempo real y el procesamiento de datos, Apache Pulsar se ha convertido en una poderosa alternativa en la última década.

 

A medida que las compañías se enfrentan a entornos de datos y TI cada vez más complejos, confían en las plataformas de mensajería y transmisión para garantizar un intercambio de datos rápido y confiable entre aplicaciones, sistemas y servicios. Dado que la analítica de datos en tiempo real se está convirtiendo en un impulsor crítico de insights aplicables en la práctica, acelerar la velocidad de transmisión de datos y procesamiento de datos es una prioridad absoluta. Según los datos de IDC de 2025, las compañías encuestadas indican que el 63 % de los casos de uso deben procesar datos en minutos para ser útiles.

Pulsar combina las características de los sistemas de mensajería tradicionales con las de los sistemas de publicación/suscripción, lo que lo hace especialmente adecuado para casos de uso como microservicios, mensajería instantánea y integración. La versatilidad de Pulsar se ve reforzada por un conjunto de capacidades y beneficios, como la replicación geográfica, la multitenencia y el almacenamiento por niveles.

Desarrollado originalmente en Yahoo y de código abierto por la Apache Software Foundation en 2016, Apache Pulsar gestiona ahora cientos de miles de millones de eventos al día en las principales organizaciones.

Las últimas noticias tecnológicas, respaldadas por los insights de expertos

Manténgase al día sobre las tendencias más importantes e intrigantes de la industria sobre IA, automatización, datos y más con el boletín Think. Consulte la Declaración de privacidad de IBM.

¡Gracias! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

Mensajería y transmisión de eventos

Comprender la importancia de Apache Pulsar comienza con una visión clara de cómo funcionan las plataformas de mensajería y transmisión de eventos.

Mensajería

Un mensaje es un paquete de datos que las aplicaciones crean para que otras aplicaciones lo utilicen. Estos paquetes se utilizan en el orden en que se transmiten, hasta que la aplicación consumidora los procesa.

Los sistemas de mensajería facilitan el intercambio de esos mensajes. Los sistemas de mensajería tradicionales son soluciones de middleware (también llamado middleware orientado a mensajes o MOM). Estas soluciones suelen admitir dos patrones de distribución de mensajes: mensajería punto a punto y mensajería de publicación/suscríbase.middleware

En la mensajería punto a punto, una aplicación (llamada remitente) envía un mensaje a lo que se conoce como cola de mensajes, que almacena el mensaje. Luego, otra aplicación (llamada receptor o consumidor) recibe el mensaje de la cola y lo procesa. Cada mensaje debe consumirse solo una vez.

En la mensajería de publicación/suscripción la aplicación que genera el mensaje se denomina editor. Las aplicaciones que lo utilizan se denominan suscriptores. Cada mensaje se publica en una categoría conocida como tema y cada aplicación que se suscribe a ese tema recibe una copia de todos los mensajes que se publican en él.

Las particiones y los temas particionados pueden acelerar el procesamiento de mensajes. Los mensajes publicados en temas particionados se distribuyen entre varios agentes.

La mensajería pub/sub está diseñada para la comunicación "de uno a muchos". La mensajería punto a punto -como su nombre indica- intercambia información entre un único emisor y un único receptor.

Entre los sistemas de mensajería tradicionales, RabbitMQ, una plataforma de código abierto , a menudo se cita como la más popular.

Transmisión de eventos

Una plataforma de transmisión de eventos captura datos en tiempo real de aplicaciones, bases de datos y dispositivos IoT . Luego transporta los datos a varios destinos para su procesamiento, analytics o almacenamiento inmediato.

Conocidas por su escalabilidad, las plataformas de transmisión de eventos pueden ordenar flujos de registros en temas y almacenarlos durante un período de tiempo predeterminado. Sin embargo, a diferencia de los sistemas de mensajería tradicionales, las plataformas de transmisión de eventos no pueden garantizar la entrega de mensajes ni rastrear qué consumidores han recibido mensajes. Dependen de la mensajería pub/sub en lugar de la distribución de mensajería punto a punto y ofrecen menos flexibilidad en el enrutamiento de mensajes.

Entre las plataformas de streaming de eventos, Apache Kafka es la más empleada.

Academia de IA

¿Es la gestión de datos el secreto de la IA generativa?

Explore por qué los datos de alta calidad son esenciales para el uso exitoso de la IA generativa.

Características clave de Apache PULSAR®

Apache Pulsar combina las capacidades de plataformas como RabbitMQ y Apache Kafka en una sola solución. Puede transmitir eventos y entregar mensajes a múltiples consumidores como Kafka; admite colas y puede enviar mensajes a consumidores individuales como RabbitMQ.

Pero Pulsar es más que la suma de sus predecesores. Yahoo desarrolló inicialmente la plataforma para dar dirección a sus propias necesidades organizativas, por lo que se incorporaron ciertas ventajas competitivas desde el principio. En los años transcurridos desde entonces, otras mejoras han reforzado aún más a Pulsar como plataforma de mensajería y streaming de alto rendimiento.

Hoy en día, algunas de las características más atractivas de Apache Pulsar incluyen:

  • Múltiples inquilinos
  • Replicación geográfica
  • Arquitectura de varios niveles
  • Almacenamiento en niveles
  • Conectores IO
  • Subscripciones flexibles

Múltiples inquilinos

La multitenencia fue una de las características originales que diferenciaron a Apache Pulsar de otras plataformas. En la arquitectura de software multiinquilino, una única instancia de una aplicación de software (y su base de datos y hardware subyacentes) sirve a varios inquilinos (o cuentas de usuario). Los beneficios de la multitenencia incluyen la simplificación de la configuración, el mantenimiento, la aplicación y el despliegue del sistema, así como los ahorros de costos.

En Apache Pulsar, diferentes equipos pueden compartir de forma segura el sistema de mensajería. Cada inquilino tiene su propia autenticación, autorización y políticas. Los inquilinos pueden dividirse además en lo que se conoce como espacios de nombres (agrupaciones lógicas de temas). Esta división facilita el soporte de diferentes entornos, como desarrollo, ensayo y producción, de inquilino único.

Replicación geográfica

La replicación de mensajes en ubicaciones remotas es importante para respaldar la recuperación ante desastres o para permitir que las aplicaciones funcionen a escala global. A diferencia de otras plataformas, Pulsar no requiere configuraciones complejas ni complementos para potenciar esta capacidad.

Con la replicación geográfica, las aplicaciones pueden conectarse al clúster local de Pulsar y seguir enviando a clústeres de todo el mundo. Si un productor publica un mensaje sobre un tema en un espacio de nombres replicado, ese mensaje se replica automáticamente en la ubicación o ubicaciones geográficas remotas configuradas.

Arquitectura de múltiples niveles

La arquitectura Pulsar separa los componentes de entrega de mensajes (agentes de mensajes) y las capas de almacenamiento de mensajes. Los mensajes son almacenados por Apache BookKeeper, conocido líder en soluciones de almacenamiento duradero de registros.

Para mejorar el rendimiento, BookKeeper distribuye datos a través de múltiples servidores conocidos como casas de apuestas. (Los metadatos de los libros mayores de BookKeeper se almacenan en Apache ZooKeeper). Se pueden agregar corredores de apuestas según sea necesario, lo que da como resultado una escalabilidad horizontal adecuada para manejar grandes volúmenes de datos. Esta arquitectura permite a Pulsar proporcionar baja latencia y, al mismo tiempo, transferir grandes cantidades de datos en poco tiempo, lo que se conoce como alto rendimiento.

La arquitectura de Pulsar también se considera arquitectura nativa de la nube. Tanto Pulsar como la computación en la nube separan la computación del almacenamiento. Además, Pulsar se puede desplegar en Kubernetes, una plataforma de orquestación de contenedores de código abierto que es un componente básico de la infraestructura moderna en la nube.

Almacenamiento en niveles

Apache PULSAR también cuenta con característica de almacenamiento por niveles. Esta capacidad permite mover los datos pendientes más antiguos de Apache BookKeeper a un almacenamiento a largo plazo menos costoso, al tiempo que permite a los clientes de Pulsar acceder al trabajo pendiente.

El almacenamiento por niveles de Pulsar utiliza Apache jclouds (un kit de herramientas multinube de código abierto para la plataforma Java) para admitir el almacenamiento a largo plazo a través de soluciones como AWS S3 (Amazon S3), GCS (Google Cloud Storage), Azure y Aliyun.

Conectores IO

Apache Pulsar se puede utilizar fácilmente con sistemas externos gracias a los conectores Pulsar IO. Estos conectores actúan como puentes entre Pulsar y otros sistemas, como los motores de procesamiento de flujos, las API de pipelines de datos y otras plataformas de mensajería.

Los conectores Pulsar vienen en dos tipos: fuente y sumidero. Los conectores de origen transmiten datos desde sistemas externos a Pulsar, mientras que los conectores de sumidero hacen lo contrario, transmitiendo datos desde Pulsar a sistemas externos. Los conectores Pulsar de uso común incluyen MySQL, MongoDB, Cassandra, RabbitMQ, Kafka, Flume y Redis.

Subscripciones flexibles

Apache Pulsar admite cuatro tipos de suscripción diferentes1 para ayudar a los usuarios a configurar los patrones de mensajería:

  • Exclusivo: solo un consumidor puede recibir mensajes a través de la suscripción.

  • Conmutación por error: cuando falla la transmisión de mensajes a un consumidor primario designado, los mensajes se envían a un consumidor en espera para su procesamiento.

  • Compartido: Los mensajes se entregan de forma "round robin", con varios consumidores que reciben mensajes, pero cada mensaje se entrega a un consumidor.

  • Clave compartida: los mensajes se asignan a una clave de mensaje, que ayuda a correlacionar los mensajes relacionados. Los mensajes con la misma clave se envían a los consumidores en un orden específico.

Características adicionales de Apache Pulsar

Otras características notables de Pulsar incluyen:

Equilibrio de carga del agente: Pulsar monitorea el uso de CPU, memoria y red de los agentes de Pulsar y mueve las cargas de trabajo según sea necesario para optimizar el equilibrio y evitar sobrecargar a los agentes individuales.

Registro de esquemas: el registro de esquemas de Pulsar permite a los clientes de Pulsar cargar esquemas de datos por tema para garantizar que los productores y consumidores utilicen formatos de mensaje compatibles.

Bibliotecas cliente: las bibliotecas cliente son funciones y procedimientos predefinidos que simplifican las interacciones entre aplicaciones y API, bases de datos y servicios. Pulsar admite bibliotecas específicas del lenguaje de programación (incluidas bibliotecas para Java, C++, Python y Node.js) y bibliotecas independientes del lenguaje (REST y WebSocket).

Retención de mensajes: los sistemas tradicionales eliminan los mensajes una vez que se han consumido. Pulsar permite a los usuarios establecer políticas de retención para almacenar mensajes incluso después de que se hayan consumido, una característica que puede admitir modelos de arquitectura basados en eventos.

Casos de uso de Apache Pulsar

Los siguientes casos de uso de Apache Software Foundation ayudan a ilustrar la utilidad y versatilidad de Apache Pulsar.2

Consolidación de plataformas de mensajería

Apache Pulsar suele ser la plataforma elegida cuando las empresas deciden buscar la consolidación de la tecnología de mensajería porque admite múltiples casos de uso de mensajería (incluida la cola y transmisión de mensajes) y multiinquilino, lo que permite que varios equipos lo utilicen de la manera que mejor les convenga.

Resiliencia a fallas para aplicaciones de misión crítica

Las empresas que buscan minimizar la posibilidad de pérdida de datos para aplicaciones críticas,como transacciones financieras, pueden aprovechar Apache Pulsar por sus características de resiliencia a fallas. Es decir, los mensajes alimentados a través de Pulsar se replican en varios nodos de BookKeeper. Además, los mensajes no se pierden incluso cuando falla el hardware.

Comunicación de microservicios

Apache Pulsar admite la comunicación constante necesaria entre microservicios a través de llamadas indirectas a la API. Los servicios pueden enviar mensajes a temas a los que estén suscritos otros servicios. Aunque otros sistemas de mensajería pueden ofrecer esta capacidad, la escalabilidad horizontal de Pulsar lo distingue del resto: la plataforma puede ampliarse en cuestión de minutos para dar cabida a grandes afluencias de solicitudes.

Compatibilidad con la lista de tareas en cola

Los sistemas de mensajería suelen admitir colas de tareas, sistemas que organizan la ejecución asincrónica de trabajos en segundo plano sin obstaculizar el rendimiento de una aplicación. Apache Pulsar admite sistemas de cola de tareas a través de su suscripción compartida, que distribuye mensajes a múltiples consumidores, y la capacidad de reconocimiento de mensajes, que confirma la finalización de una tarea.

Soluciones relacionadas
IBM StreamSets

Cree y gestione canalizaciones de datos de streaming inteligentes a través de una interfaz gráfica intuitiva, y facilite una integración de datos fluida en entornos híbridos y multinube.

Explorar StreamSets
IBM watsonx.data™

watsonx.data le permite escalar los analytics y la IA con todos sus datos, residan donde residan, a través de un almacén de datos abierto, híbrido y gestionado.

Descubra watsonx.data
Servicios de consultoría en datos y analytics

Desbloquee el valor de los datos empresariales con IBM Consulting, y construya una organización impulsada por insights que ofrezca ventajas empresariales.

Descubra los servicios de analytics
Dé el siguiente paso

Diseñe una estrategia de datos que elimine los silos de datos, reduzca la complejidad y mejore la calidad de los datos para ofrecer experiencias excepcionales a clientes y empleados.

Explore las soluciones de gestión de datos Descubra watsonx.data
Notas de pie de página

"Messaging." The Apache Software Foundation. Consultado el 4 de agosto de 2025.

"Pulsar Use Cases." The Apache Software Foundation. Consultado el 4 de agosto de 2025.