Confluent es una distribución opens-source de Kafka fundada por los creadores originas de Kafka en Linkein que ofrece un conjunto de herramientas, utilidades, conectores,… que la hacen muy interesante.

Entre los añadidos más destacados a Kafka tenemos:

Conectores:

Tanto Confluent como otros partners ofrecen conectores con data systems populares, esto permite construir de forma sencilla pipelines:

Los conectores de Confluent son estos:

Pero además de estos hay conectores certificados y de la comunidad como al de Azure IoTHub, Couchbase, SAP HANA, Oracle GoldenGate, Vertica, Apache Ignite, ArangoDB, Amazon Kinesis, Cassandra, Google PubSub, MongoDB, Hazelcast, JMS, MQTT, RabbitMQ, Solr, ….

Kafka Connect es el framework que integra Kafka con otros sistemas. Para copiar datos entre Kafka y otros sistemas los usaurios instancian conectores Kafka para hacer pull o push. Los Source Connectors importan datos desde otros sistemas (por ejemplo desde una BD) y los Sink Connectores exportan datos de Kafka (por ejemplo contenido de un tópico Kafka a un fichero HDFS).

Soporte multi-lenguaje

Confluent incluye clients que permite a un cluster Kakfa hablar con aplicaciones escritas en Java, Go, C, C++, .NET, Python,…

REST Proxy

Provee un interfaz RESTful con tu cluster Kafka. Esto permite de forma muy sencilla producir y consumer mensajes de un cluster, además de ver el estado del cluster y realizar labores administrativas.

Confluent CLI

El CLI de Confluent (Command Line Interface) simplificada el desarrollo ya que permite arrenacar un cluser Kafka con un único comando, ejecutando un $ confluent start en el terminal. Además ofrece commandos para parar y arancar servicios como Zookeeper, cargar conectores, ver el estado del cluster,…

Schema Registry

Almacena el histórico de todos los esquemas y permite la evolución de estos conforme criterios de compatibilidad. Además permite gestionar su almacenamiento y recuperación para mensajes enviados en format Avro.

Como Buena compañía Open-Source Confluent ofrece una versión Enterprise y una versión Cloud, veamos las diferencias entre Kafka y todas las versiones de Confluent: