Apache pulsar: Introducción

Última actualización: 05/10/2020

En este artículo exploramos Apache Pulsar. En qué consiste este bróker de mensajería, qué ventajas ofrece y en qué se diferencia de tecnologías como Apache Kafka para Big Data.

Qué es Apache Pulsar

¿Qué es Apache Pulsar?

Apache Pulsar es un sistema de mensajería de tipo Pub-Sub desarrollado y mantenido por la Apache Software Foundation como proyecto open source. Las características más destacables son su alta escalabilidad y rendimiento. Además incorpora replicación geográfica y multi-tenancy.

Pulsar proporciona funciones (llamadas Pulsar Functions) que permiten implementar la lógica de procesamiento en los lenguajes de programación Java, Python y Go sin necesidad de depender de otras tecnologías como Spark o Storm.

Es posible desplegar Apache Pulsar en contenedores mediante Kubernetes y puede usarse como un bróker de mensajería, como hace Apache Kafka. Algunos de los casos de uso más frecuentes son como sistema de notificaciones, agregador de logs o como cola de trabajos.

Rendimiento

Apache Pulsar consigue latencias muy bajas (hasta 5ms) y un rendimiento de hasta 1 millón de mensajes por segundo según las pruebas de rendimiento realizadas. Además, garantiza que se cumple la entrega y el orden de los mensajes.

Escalabilidad

Es un sistema fácilmente escalable, en el que para aumentar la capacidad basta con añadir más nodos al clúster, que se usarán para distribuir los datos.

Pulsar también proporciona la capacidad para distribuir geográficamente el sistema en varios datacenters y así replicar sus datos. Se puede usar para soportar estrategias de disaster recovery de una manera sencilla desde el inicio.

Arquitectura Pulsar
Arquitectura en Apache Pulsar

Además de una alta escalabilidad, Apache Pulsar proporciona multi-tenancy: esto implica que varios servicios y clientes pueden compartir el mismo sistema. Para ello, Pulsar también ofrece y usa mecanismos de autenticación y autorización para proteger su seguridad y sus accesos a los datos.

Apache Pulsar vs Apache Kafka

Las diferencias principales entre estos dos sistemas de mensajería es la forma que tienen de distribuir los datos.

Apache Pulsar logo

Pulsar consigue mantener los datos más balanceados que Kafka. En Kafka, todos los datos de una partición se encuentran en un bróker (nodo del sistema) y por tanto, su capacidad está limitada por el propio bróker en el que se encuentra.

Cuando se intenta escalar, es necesario realizar una operación de rebalanceo. Aunque no es obligatorio, si esta operación no se realiza, los datos podrían quedar distribuidos de una manera desbalanceada, y por tanto, no mantener todas las ventajas del sistema.

Pulsar, sin embargo, divide los datos de cada partición también en segmentos. Estas unidades son más pequeñas y se distribuyen de manera balanceada entre los brókers. Con esto, Pulsar consigue hacer innecesarias las operaciones de rebalanceo de datos y también que la capacidad no esté limitada por el bróker, ahorrando mantenimiento y carga adicional.

Kafka Logo

En cuanto a replicación, Apache Kafka permite conseguir replicación geográfica con la herramienta externa Kafka Mirror Maker, lo que supone mantener un proceso adicional aparte del sistema principal. En Pulsar, la replicación geográfica está incorporada.

La conclusión de la comparativa, es que en estos momentos Apache Pulsar es un sistema más fácil de escalar y más flexible que Apache Kafka.

Preguntas frecuentes – FAQ

¿Para qué se usa Apache Pulsar?

Apache Pulsar es un sistema de mensajería distribuido open source con muy baja latencia usado para agregar mensajes y datos en Big Data. Los casos de uso más comunes son sistema de notificaciones y agregador de logs.

¿Qué diferencias existen entre Pulsar y Kafka?

Pulsar mantiene los datos más balanceados en sus brokers que Apache Kafka. Además, tiene replicación geográfica integrada, convirtiéndolo en un sistema más flexible y escalable que Kafka.


A continuación el vídeo-resumen. ¡No te lo pierdas!


¡Echa un ojo a mi lista de reproducción de Big Data en Youtube!

Si te ayuda el contenido del blog, por favor considera unirte a la lista de correo para reconocer el trabajo!

Deja una respuesta