Saltar a contenido

ADR-004: Dos orquestadores — Node-RED + n8n

Fecha: 2026-05-11 Estado: aceptado Decisión: SmallCountry usará dos motores de automatización con responsabilidades estrictamente separadas: Node-RED para la capa física de tiempo real (sensores, actuadores, MQTT (protocolo de mensajería ligera para IoT)) y n8n para la capa lógica (workflows, APIs, notificaciones, ciclo de vida de servicios, IA). Ninguno reemplaza al otro. Ambos son necesarios.

Contexto: Un solo motor de automatización parece más simple. Pero las necesidades son contradictorias: el control de una bomba requiere latencia mínima, operación continua y cero dependencias externas. Un workflow de negocio (facturación, envío de campañas) requiere integración con APIs externas, lógica condicional compleja y programación. Además, si el único orquestador falla, todo el sistema pierde su capacidad de reacción.

Alternativas consideradas:

Alternativa Ventajas Por qué se descartó
Solo n8n Interfaz visual potente, muchas integraciones No es tiempo real. Depende de PostgreSQL. Demasiado pesado para controlar una bomba. Single point of failure
Solo Node-RED Tiempo real, ligero, nativo MQTT (protocolo de mensajería ligera para IoT) No tiene las integraciones de n8n (APIs, OAuth, webhooks complejos). Los workflows de negocio serían frágiles
Home Assistant como orquestador Muy popular en domótica Solo lectura en SmallCountry. Delegar automatizaciones críticas a HA introduce un SPOF (punto único de fallo) y mezcla capas

Consecuencias:

  • ✅ Separación de dominios: la capa física (Node-RED) no depende de la capa lógica (n8n). Si n8n falla, la bomba sigue funcionando
  • ✅ Cada herramienta en su punto fuerte: Node-RED para latencia mínima, n8n para lógica compleja
  • ✅ Sin SPOF (punto único de fallo): si uno falla, el otro sigue operando en su dominio
  • ❌ Dos herramientas que aprender y mantener: duplica la carga cognitiva del administrador
  • ❌ Coordinación: necesitan MQTT como interfaz común. Los flujos que cruzan ambos dominios son más complejos de depurar
  • ❌ Tentación de solapamiento: es fácil empezar a hacer en n8n cosas que deberían estar en Node-RED y viceversa. Requiere disciplina

Referencias: - Ficha: Node-RED - Ficha: n8n - Principio 6: Arquitectura por capas - Mecanismo 3: Degradación Independiente - Principio 5: Resiliencia física