Сохранение данных в хранилище состояний
Хранилище состояний — это распределенная система хранения, развернутая в рамках операций Интернета вещей Azure. С помощью хранилища состояний приложения могут получать, задавать и удалять пары "ключ-значение", не требуя установки дополнительных служб, таких как Redis. Хранилище состояний также обеспечивает управление версиями данных, а также примитивы для создания распределенных блокировок, идеально подходит для высокодоступных приложений.
Как и Redis, хранилище состояний используется в хранилище памяти. Остановка или перезапуск кластера Kubernetes приводит к потере содержимого хранилища состояний.
Хранилище состояний реализуется через MQTTv5. Ее служба интегрирована непосредственно в брокер MQTT и автоматически запускается при запуске брокера. Хранилище состояний обеспечивает ту же высокую доступность, что и брокер MQTT.
Почему используется хранилище состояний?
Хранилище состояний позволяет пограничному приложению сохранять данные на границе. Типичные варианты использования хранилища состояний включают:
- Создание приложений без отслеживания состояния
- Совместное использование состояния между приложениями
- Разработка высокодоступных приложений
- Хранение данных для использования потоками данных
Авторизация хранилища состояний
Хранилище состояний расширяет механизм авторизации брокера MQTT, что позволяет отдельным клиентам иметь необязательный доступ на чтение и запись к определенным ключам. Дополнительные сведения о настройке авторизации брокера MQTT для хранилища состояний.
Взаимодействие с хранилищем состояний
Средство CLI хранилища состояний доступно, которое позволяет взаимодействовать с хранилищем состояний из оболочки, работающей на компьютере вне кластера. Документация поможет вам выполнить следующие действия.
- Создание цепочки сертификатов X.509 для проверки подлинности с помощью брокера MQTT
-
BrokerAuthentication
Создание сертификатов x.509 -
BrokerListener
Создание типа LoadBalancer для включения доступа вне кластера
Инструкции по использованию средства см. на странице GitHub в хранилище состояний.
Примечание.
Пакеты SDK для взаимодействия с хранилищем состояний в настоящее время находятся в активной разработке и будут доступны в ближайшем будущем, чтобы пограничные приложения могли взаимодействовать с хранилищем состояний.