principales-broker-mqtt-open-source-para-proyectos-iot

Principales broker MQTT Open Source para proyectos IoT

Continuamos con nuestra serie de entradas dedicadas a MQTT, el popular protocolo para IoT, viendo algunos de los principales broker MQTT disponibles.

En entradas anteriores hemos visto qué algunos de los principales protocolos para IoT, el protocolo MQTT y qué son y cómo organizar correctamente los topics en un proyecto de MQTT.

Como vimos, una de las claves principales de la comunicación MQTT es el Broker, que es el programa que se encarga de recepcionar los mensajes enviados por los clientes y distribuirlos entre sí en un sistema pub-sub.

protocolos-iot-pubsub

Cuando veáis tutoriales en Internet, dentro del campo #Maker, normalmente encontraréis que hacen referencia al archiconocido Mosquitto, uno de los broker Open Source con más difusión en el sector doméstico. Lo veremos en próximas entradas.

Pero hay que recordar que no es el único broker MQTT, sobre todo en ámbitos profesionales. Por el contrario, y como era de esperar, existe una gran cantidad de brokers MQTT disponibles cada uno con sus características, ventajas e inconvenientes.

Elegir el broker más adecuado para nuestro proyecto condiciona el buen funcionamiento y éxito del mismo. De forma que vamos a ver un repaso rápido de algunos de los principales MQTT disponibles.

  • Mosquitto. Cómo decíamos es el broker MQTT más conocido en el sector doméstico/#maker. Es un broker Open Source desarrollado por la fundación Eclipse y distribuido bajo licencia EPL/EDL. Está programado en C, y es multiplataforma. Es un broker liviano y adecuado para uso en servidores de baja potencia.
  • Mosca. Es un broker MQTT Open Source para Node.js, desarrollado en Javascript por Matteo Collina. Puede ser empleado como aplicación independiente o embebido en cualquier proyecto de Node.js
  • Aedes. Del mismo autor que Mosca, Aedes es un servidor broker MQTT Open Source para Node.js diseñado para ser un reemplazo de Mosca.
  • HBMQTT. Es un broket MQTT Open Source escrito en Python que funciona sobre asyncio, introducido en Python 3.4.
  • EMQTT. Erlan MQTT broker es Open Source, desarrollado en Erlang/OTP, está diseñado para aplicaciones con grandes exigencias en escalabilidad.
  • RabbitMQ. Es un popular broker de mensajería AMQP Open Source, que también permite emplear el protocolo MQTT a través de un Adaptador.
  • HiveMQ CE. La versión Community del popular HiveMQ es un broker Open Source basado en Java.
  • ActiveMQ. Es un broker de mensajería JMS (Java Message Script) Open Source desarrollado por Apache, que también admite protocolo MQTT.
  • Moquette. Un broker MQTT Open Source escrito en Java desarrollado por Eclipse, que destaca por livianeza.
  • MQTTnet. Un broker Open Source para .NET.

Son sólo algunos ejemplos de los broker más conocidos pero, por supuesto, hay muchos más (Mystique, Awesome MQTT, SurgeMQ, VerneMQ). Como veis, existe todo un ecosistema, con un broker para cada lenguaje y cada proyecto.

En las próximas entradas del blog veremos algunos de ellos de forma más profunda (Mosquitto, Aedes y RabbitMQ principalmente). Y vosotros, ¿echáis alguno de vuestros broker MQTT favoritos en el listado?