Conservación de datos en el almacén de estado
El almacén de estado es un sistema de almacenamiento distribuido, implementado como parte de las operaciones de Azure IoT. Con el almacén de estado, las aplicaciones pueden obtener, establecer y eliminar pares clave-valor, sin necesidad de instalar más servicios, como Redis. El almacén de estado también proporciona control de versiones de los datos y también los primitivos para compilar bloqueos distribuidos, ideales para aplicaciones de alta disponibilidad.
Al igual que Redis, el almacén de estados usa en el almacenamiento en memoria. Detener o reiniciar el clúster de Kubernetes hace que se pierda el contenido del almacén de estado.
El almacén de estado se implementa a través de MQTTv5. Su servicio se integra directamente en el agente MQTT y se inicia automáticamente cuando se inicia el agente. El almacén de estado proporciona la misma alta disponibilidad que el agente MQTT.
¿Por qué usar el almacén de estado?
El almacén de estado permite que una aplicación perimetral conserve los datos en el perímetro. Entre los usos típicos del almacén de estado se incluyen:
- Creación de aplicaciones sin estado
- Uso compartido del estado entre aplicaciones
- Compilación de aplicaciones de alta disponibilidad
- Almacenamiento de datos que usarán los flujos de datos
Autorización del almacén de estado
El almacén de estado amplía el mecanismo de autorización del agente MQTT, lo que permite a los clientes individuales tener acceso opcional de lectura y escritura a claves específicas. Más información sobre cómo configurar la autorización del agente MQTT para el almacén de estados.
Interacción con el almacén de estado
Hay disponible una herramienta de la CLI del almacén de estados que permite la interacción con el almacén de estado desde un shell que se ejecuta en un equipo fuera del clúster. La documentación le guiará en lo siguiente:
- Generación de una cadena de certificados X.509 para autenticarse con el corredor MQTT
- Creación de una
BrokerAuthentication
con certificados x.509 - Creación de un
BrokerListener
de tipo LoadBalancer para habilitar el acceso fuera del clúster
Para obtener instrucciones sobre cómo usar la herramienta, consulte la página de GitHub de la CLI del almacén de estados.
Nota:
Los SDK para interactuar con el almacén de estado están actualmente en desarrollo activo y estarán disponibles en el futuro próximo para permitir que las aplicaciones perimetrales interactúen con el almacén de estado.