Versión 1.0.30 · gratis, sin límites

Un broker MQTT para todos

ELX-MQTT Broker es un broker en Go con un panel web completo. MQTT 3.1.1 y 5.0 están implementados desde cero, por entero y sin bibliotecas de terceros. Un solo binario, sin dependencias: se instala y funciona.

Debian · Ubuntu · Windows x64 · Linux arm64 y armhf

Instalación en Debian / Ubuntu
$ sudo apt-get install elxmqttbroker
Setting up elxmqttbroker (1.0.30) ...
Created symlink /etc/systemd/system/multi-user.target.wants/elxmqttbroker.service

ELX MQTT Broker 1.0.30 — listening on :1883, :8883, dashboard on :8567
state restored retained=128 sessions=7 subscriptions=34 delayed=2
2 versiones del protocolo: 3.1.1 y 5.0
0 bibliotecas MQTT de terceros
7 idiomas del panel
6 fuentes de credenciales

Todo lo que se espera de un broker, y un panel para verlo funcionar

El broker no solo entrega mensajes: muestra exactamente qué ocurre, quién está conectado, qué topics tienen vida y qué descartan los limitadores.

MQTT 5.0 completo

Todas las propiedades de paquete, alias de topics, suscripciones compartidas mediante $share, identificadores de suscripción, No Local, Retain Handling, Will Delay, Message Expiry, códigos de razón y el paquete AUTH.

Un panel vivo

Gráficas de ritmo de mensajes y de tráfico, salud de la máquina, topics activos y un flujo de eventos, transmitidos por WebSocket y sin recargar la página.

Permisos por topic

Reglas ACL formadas por filtro, modo de acceso y decisión de permitir o denegar, con denegación por defecto y un comodín $u que confina a un cliente a su propia rama en una sola línea.

Puente entre brokers

Reenvío de topics en ambos sentidos a nivel de servidor: direcciones out/in/both, prefijos, TLS, protección contra bucles y reconexión automática.

Publicación diferida

Publicar en $delayed/60/topic llega a los suscriptores un minuto después. Compatible con EMQX, sobrevive a un reinicio, y la cola se ve y se cancela desde el panel.

Control de avalancha y límites por topic

Un cubo de fichas por conexión más reglas por patrón de topic: reducir un flujo a un ritmo (conservando el último valor) o descartarlo por completo.

Seis fuentes de credenciales

La lista interna, MariaDB/MySQL, SQLite, CSV, JWT y un servicio HTTP externo. El cambio se hace en caliente, sin reiniciar el broker.

API REST

Todo lo que hace el panel está disponible con un token bearer: cree dispositivos y conceda permisos desde su propio sistema. Se admiten tokens de solo lectura.

Sobrevive a los reinicios

Los mensajes retenidos, las sesiones persistentes, las colas sin conexión y los mensajes diferidos viven en SQLite en Go puro, sin CGO ni base de datos externa.

Instalarlo lleva un minuto

Un paquete del repositorio APT para Debian y Ubuntu y un binario listo para Windows. Sin Docker, sin entorno de ejecución y sin bibliotecas que instalar.

  1. Añadir la clave y el repositorio

    sudo wget -qO /usr/share/keyrings/elx-repo.gpg https://repo.um-d.ru/elx-repo.gpg
    echo "deb [signed-by=/usr/share/keyrings/elx-repo.gpg] https://repo.um-d.ru stable main" | sudo tee /etc/apt/sources.list.d/elx-repo.list
  2. Actualizar la lista de paquetes

    sudo apt-get update
  3. Instalar el broker

    sudo apt-get install elxmqttbroker
  1. Descargar el instalador desde la página de descargas

  2. Ejecutarlo y elegir «Instalar como servicio de Windows»

  3. Abrir el panel e iniciar sesión con admin / admin

    http://localhost:8567

Una vez instalado, el panel espera en :8567, MQTT en :1883 y MQTT sobre TLS en :8883. El acceso por defecto es admin / admin: cámbielo en el primer inicio de sesión.

Todas las opciones de descarga →

Qué aspecto tiene

Temas oscuro y claro, siete idiomas de interfaz y gráficas en vivo. El panel forma parte del broker: no hay nada que instalar aparte.

Captura: Qué aspecto tiene

Las 24 pantallas →

Qué se admite

El códec codifica y decodifica los 15 tipos de paquete, y los topics se comparan según la tabla de la especificación.

Común a 3.1.1 y 5.0

  • QoS 0, 1 y 2 con negociaciones completas
  • Reenvío tras la reconexión
  • Mensajes retenidos y borrado de ramas enteras
  • Last Will and Testament
  • Sesiones limpias y persistentes
  • Keep-alive y toma de sesión
  • Los comodines + y #
  • Un árbol $SYS con estadísticas

Solo MQTT 5.0

  • Todas las propiedades de paquete
  • Alias de topics en ambos sentidos
  • Session Expiry Interval
  • Receive Maximum y control de flujo
  • Identificadores de suscripción
  • Suscripciones compartidas $share/grupo/filtro
  • No Local y Retain As Published
  • Retain Handling 0/1/2
  • Will Delay y Message Expiry
  • Content Type, Response Topic, Correlation Data
  • User Properties y códigos de razón
  • DISCONNECT del lado del servidor y el paquete AUTH

Transportes

  • :1883 — MQTT sobre TCP
  • :8883 — MQTT sobre TLS
  • :8567/mqtt — MQTT sobre WebSocket
  • :8567 — el panel web
  • En el primer arranque se genera un certificado TLS
  • Su propio certificado se indica en la configuración

Probado bajo carga

Sometido a esfuerzo en dos bancos: por red y por bucle local. Aquí solo lo esencial; el informe completo, con método y tablas, está a un clic.

30 000 conexiones simultáneas sin un solo fallo
~1 ms latencia de extremo a extremo publicador → broker → suscriptor por red
1,35 M/s mensajes entregados a suscriptores con abanico ×100
0 errores en el registro del broker en todas las pruebas

Informe completo de las pruebas de carga →

Instálelo y pruébelo

El broker es gratuito, el número de dispositivos y mensajes es ilimitado y no hace falta registrarse.