Nuevas tendencias en los servicios MQTT: comprensión de la arquitectura multiinquilino de MQTT

introducción

Durante la última década, el protocolo MQTT se ha utilizado ampliamente en el campo de Internet de las cosas. Muchos proveedores de servicios de IoT necesitan servicios MQTT flexibles y escalables, y MQTT con arquitectura multiinquilino les brinda una nueva opción.

Este artículo trata sobre la arquitectura multiinquilino de MQTT y las ventajas y desafíos que presenta para los usuarios.

¿Qué es una arquitectura multiusuario?

Multiusuario (Multi-tenancy) es un patrón de arquitectura de software que permite que una sola instancia de una aplicación brinde servicios a múltiples inquilinos (usuarios o clientes) al mismo tiempo, y cada inquilino tiene sus propios datos y configuración independientes.

Bajo esta arquitectura, varios arrendatarios comparten la misma infraestructura, base de datos y clúster, pero cada arrendatario solo puede acceder a sus propios datos y configuración. Esto significa que los inquilinos pueden personalizar los servicios de acuerdo con sus necesidades sin afectar los datos o la configuración de otros inquilinos. Al mismo tiempo, los proveedores también pueden reducir los costos sirviendo a múltiples inquilinos en la misma infraestructura.

Para MQTT Broker, la arquitectura multiusuario es una solución eficiente y económica que puede brindar servicios MQTT a múltiples clientes o equipos al mismo tiempo.

Arquitectura multiinquilino en MQTT: implementación del aislamiento de datos para cada inquilino

El núcleo de la arquitectura multiusuario de MQTT Broker es el aislamiento de datos. Esto garantiza que cada arrendatario se vea a sí mismo como el único usuario de todo el clúster y no pueda acceder ni interactuar con los clientes de otros arrendatarios. Incluye las siguientes cinco áreas principales:

  • No se requieren restricciones de clientes . Los clientes pueden usar ID de cliente, nombres de usuario y contraseñas arbitrarios, independientemente de otros inquilinos. Incluso diferentes inquilinos pueden usar la misma ID de cliente para acceder al mismo tiempo.
  • Aislamiento de datos de autenticación/autorización . Cada inquilino tiene sus propios datos de autenticación y autorización independientes, que se utilizan para controlar el inicio de sesión del cliente y los permisos de publicación/suscripción en los temas. Un arrendatario solo puede operar sus propios datos, y estos datos solo son válidos para el cliente del arrendatario.
  • Cuarentena de mensajes . Los clientes de diferentes inquilinos no pueden comunicarse entre sí. Aunque los inquilinos pueden usar temas arbitrarios, incluidos los que usan otros inquilinos, los mensajes siguen estando completamente aislados.
  • Interfaz independiente a nivel de usuario . Incluye sitio de administración y API HTTP. Los inquilinos solo pueden administrar y ver sus propios datos y no pueden modificar los datos de otros inquilinos.
  • Configuración diferenciada . Cada arrendatario debe contar con una configuración independiente para satisfacer sus necesidades funcionales y de recursos específicos.

Ventajas y desafíos de la arquitectura multiusuario MQTT

La arquitectura multiusuario MQTT ofrece dos ventajas a los proveedores de soluciones de IoT:

  • Flexibilidad : la arquitectura multiusuario MQTT es más flexible que la arquitectura propietaria. Esto se refleja principalmente en dos aspectos: primero, no necesita construir una infraestructura separada para cada arrendatario y puede proporcionar servicios MQTT rápidamente. La segunda es que puede personalizar paquetes de cobro para inquilinos individuales sin interrumpir el servicio ni reasignar la infraestructura subyacente.
  • Ahorro de costos : la arquitectura multiinquilino MQTT es una alternativa de bajo costo a la arquitectura dedicada, lo que permite que varios inquilinos compartan la misma infraestructura. Por el contrario, las arquitecturas dedicadas requieren que cada arrendatario tenga su propia infraestructura, lo que puede resultar costoso de construir y mantener.

Pero al mismo tiempo, existen algunos desafíos en la adopción de la arquitectura multiusuario MQTT:

  • Asegúrese de que los datos de los inquilinos estén correctamente segregados . Bajo ninguna circunstancia los inquilinos deben acceder o administrar los dispositivos y datos de otros inquilinos. Por lo tanto, se deben tomar medidas de seguridad estrictas, incluidas políticas estrictas de control de acceso, mecanismos razonables de autenticación y autorización y control de acceso basado en roles. El cifrado de datos se utiliza cuando es necesario para garantizar la seguridad de los datos durante la transmisión.
  • Gestionar eficazmente la competencia por los recursos . Dado que varios inquilinos comparten el mismo conjunto de infraestructura, como el ancho de banda de la red, la CPU o la memoria, debe existir una competencia de recursos entre los inquilinos. La clave es que el sistema debe ser capaz de limitar el uso de los recursos por parte de los inquilinos, para evitar que un inquilino agote completamente un recurso y afecte el uso normal de otros inquilinos. Por lo general, podemos controlar el consumo de recursos al establecer políticas de límite de cuota y tasa para cada arrendatario. Por ejemplo, puede establecer límites en la cantidad máxima de conexiones y suscripciones, así como tarifas de mensajes, para inquilinos. Una vez que se alcanza el límite, el servicio puede denegar solicitudes para evitar un consumo excesivo de recursos por parte de los inquilinos.

EMQX Cloud Serverless: servicio MQTT basado en arquitectura multiusuario

EMQ ha lanzado un servicio Serverless MQTT basado en una innovadora tecnología multiusuario: EMQX Cloud Serverless. EMQX Cloud Serverless permite a los usuarios implementar rápidamente servicios MQTT en segundos sin preocuparse por la administración de la infraestructura del servidor o la asignación de recursos durante la expansión del servicio . También proporciona una cuota gratuita permanente de 1 millón de minutos por mes y adopta un modelo de cobro de pago por uso, lo que reduce en gran medida el costo de IoT.

epílogo

Con el crecimiento continuo de los dispositivos IoT y la aparición de nuevos escenarios de aplicaciones, la arquitectura multiusuario MQTT tiene amplias perspectivas en el futuro mercado de IoT. La adopción de esta arquitectura no solo puede brindar a los clientes servicios de MQTT Broker más flexibles, sino también reducir los costos operativos para los clientes durante la implementación a gran escala.

Declaración de derechos de autor: este artículo es original de EMQ, indique la fuente para la reimpresión.

Enlace original: https://www.emqx.com/zh/blog/multi-tenancy-architecture-in-mqtt

Supongo que te gusta

Origin blog.csdn.net/emqx_broker/article/details/131539544
Recomendado
Clasificación