Clúster Horizontal
El Cluster Horizontal AggreGate es una variante especial del despliegue de la Plataforma AggreGate que está diseñada para enormes instalaciones multi-cliente. Su principal objetivo es la escalabilidad horizontal ilimitada. Miles de millones de dispositivos en millones de clientes pueden operar miles de aplicaciones y servicios, a menudo compartidos entre los clientes y gestionados en un entorno unificado. Horizontal Cluster está destinado básicamente a satisfacer los requisitos de los proveedores de servicios móviles y los operadores de telecomunicaciones, pero también puede ser utilizado por otros clientes que prevén un crecimiento significativo del número de dispositivos conectados y desean evitar gastos adicionales para la escalabilidad.
Arquitectura de Clúster Horizontal
El Clúster horizontal es un conjunto de diferentes nodos que trabajan juntos actuando como una única entidad lógica. Cada nodo del clúster es un servidor de plataforma dedicado, al que se le asigna un determinado papel.
Roles de los nodos en el Clúster Horizontal:
- El Coordinador del Clúster Supervisa el funcionamiento del clúster y el control de acceso
- Los Nodos Primarios están ejecutando la lógica de negocio de las aplicaciones de IoT y se ocupan de los datos de las máquinas
- Los servidores de acceso manejan las sesiones de conexión de los usuarios y la interfaz de usuario
- Los servidores de aplicaciones son responsables de los recursos y la configuración de las aplicaciones de hospedaje
Algunos sistemas externos también se utilizan con el Clúster Horizontal:
- El clúster de la base de datos (por ejemplo, el clúster Apache Cassandra) proporciona un almacenamiento persistente y elástico
- Despliegue de la aplicación de control de entornos DevOps a través de un sistema de control de versiones o un servidor Marketplace AggreGate
- El apoyo del registro externo de usuarios/arrendatarios garantiza una integración sin problemas con el OSS/BSS, la facturación y sistemas similares
- La escalabilidad automática puede lograrse mediante la conexión a un sistema de gestión de infraestructura/virtualización
Roles de los Nodos del Clúster
El Clúster Horizontal puede crecer a miles de nodos una vez que las operaciones de los clientes conduzcan a nuevas conexiones de dispositivos. La ampliación del Cluster puede ser automatizada a través de un sistema externo de gestión de IaaS/visualización. Sin embargo, las funciones de los nodos del cluster están predefinidas independientemente del tamaño del cluster.
Coordinador del Clúster
El Coordinador de Clúster es el "cerebro" del Clúster Horizontal. Sus principales funciones son:
- Supervisión general del sistema
- Asignación y distribución de recursos
- Control de acceso basado en roles
- Interacción con un registro externo de clientes y usuarios
- Suministro de datos de facturación
- Control del despliegue de aplicaciones
- Despliegue de los nodos primarios y aumento/disminución de escala
La tolerancia a las fallas y, al mismo tiempo, el alto rendimiento del Coordinador de Cúster se logra mediante el uso de almacenamiento distribuido en memoria. Todos los cambios de configuración del cluster se replican instantáneamente a todos los nodos coordinador del Cluster, que operan en modo activo-activo.
Nodos primarios
Los Nodos Primarios son los principales trabajadores del Clúster Horizontal. La funcionalidad de los Nodos Primarios incluye:
- La comunicación con los dispositivos remotos
- Almacenamiento y procesamiento de los datos de los dispositivos
- Ejecutar Gemelos Digitales y modelos de aprendizaje automático
- Administrar los flujos de eventos
- Ejecutando cualquier otra lógica de aplicación de IoT
Todos los recursos de los Nodos Primarios están separados en dominios de diferentes clientes. El Coordinador de Cluster optimiza cada dominio para distribuir los recursos de un cliente en los mismos nodos o en los vecinos.
Los Nodos Primarios no guardan su estado localmente y usan un cluster de base de datos externo para el almacenamiento persistente. Si un nodo falla, sus recursos son cargados por otro nodo primario, asegurando efectivamente la tolerancia a las fallas.
Servidores de Acceso
Los servidores de acceso actúan como controladores de la conexión de los usuarios. Proporcionan acceso a la plataforma a los usuarios de clientes de escritorio, sesiones web y aplicaciones móviles. Una vez que un usuario establece una conexión, el Servidor de Inicio de Sesión interactúa con el Coordinador del Clúster para preparar un conjunto de recursos a nivel de la interfaz de usuario de acuerdo con la función del usuario. Todas las actividades de análisis de la interfaz de usuario y del usuario se realizan en los servidores de inicio de sesión, de modo que el crecimiento del número de sesiones simultáneas puede mediar fácilmente añadiendo nuevas instancias del servidor de inicio de sesión y registrándolas en la infraestructura de equilibrio de la carga de la red.
Servidores de aplicación
Los servidores de aplicaciones albergan copias maestras de aplicaciones de código bajo y sus configuraciones. Las actualizaciones de las aplicaciones se entregan a los nodos del servidor de aplicaciones a través de un sistema de control de versiones o marketplace. Alguna lógica de la aplicación puede ejecutarse directamente en los servidores de aplicaciones mientras que otros módulos son replicados a los nodos primarios por el coordinador del clúster.