Поделиться через


Сохранение данных в хранилище состояний

Хранилище состояний — это распределенная система хранения, развернутая в рамках операций Интернета вещей Azure. С помощью хранилища состояний приложения могут получать, задавать и удалять пары "ключ-значение", не требуя установки дополнительных служб, таких как Redis. Хранилище состояний также обеспечивает управление версиями данных, а также примитивы для создания распределенных блокировок, идеально подходит для высокодоступных приложений.

Как и Redis, хранилище состояний используется в хранилище памяти. Остановка или перезапуск кластера Kubernetes приводит к потере содержимого хранилища состояний.

Хранилище состояний реализуется через MQTTv5. Ее служба интегрирована непосредственно в брокер MQTT и автоматически запускается при запуске брокера. Хранилище состояний обеспечивает ту же высокую доступность, что и брокер MQTT.

Почему используется хранилище состояний?

Хранилище состояний позволяет пограничному приложению сохранять данные на границе. Типичные варианты использования хранилища состояний включают:

  • Создание приложений без отслеживания состояния
  • Совместное использование состояния между приложениями
  • Разработка высокодоступных приложений
  • Хранение данных для использования потоками данных

Авторизация хранилища состояний

Хранилище состояний расширяет механизм авторизации брокера MQTT, что позволяет отдельным клиентам иметь необязательный доступ на чтение и запись к определенным ключам. Дополнительные сведения о настройке авторизации брокера MQTT для хранилища состояний.

Взаимодействие с хранилищем состояний

Средство CLI хранилища состояний доступно, которое позволяет взаимодействовать с хранилищем состояний из оболочки, работающей на компьютере вне кластера. Документация поможет вам выполнить следующие действия.

  1. Создание цепочки сертификатов X.509 для проверки подлинности с помощью брокера MQTT
  2. BrokerAuthentication Создание сертификатов x.509
  3. BrokerListener Создание типа LoadBalancer для включения доступа вне кластера

Инструкции по использованию средства см. на странице GitHub в хранилище состояний.

Примечание.

Пакеты SDK для взаимодействия с хранилищем состояний в настоящее время находятся в активной разработке и будут доступны в ближайшем будущем, чтобы пограничные приложения могли взаимодействовать с хранилищем состояний.