你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在状态存储中保存数据

状态存储是一个分布式存储系统,系统将其部署为 Azure IoT 操作的一部分。 使用状态存储后,应用程序可以获取、设置和删除键值对,而无需安装更多服务,例如 Redis。 状态存储还提供数据的版本控制,以及生成分布式锁的基元,非常适合高可用性的应用程序。

与 Redis 一样,状态存储在内存存储中使用。 停止或重启 Kubernetes 群集会导致状态存储内容丢失。

状态存储通过 MQTTv5 实现。 其服务直接集成到 MQTT 代理中,并在代理启动时自动启动。 状态存储提供与 MQTT 代理相同的高可用性。

为何使用状态存储?

状态存储允许边缘应用程序在边缘上保留数据。 状态存储的典型用法包括:

  • 创建无状态应用程序
  • 在应用程序之间共享状态
  • 生成高可用性的应用程序
  • 存储数据流要使用的数据

状态存储授权

状态存储可以扩展 MQTT 代理的授权机制,允许单个客户端拥有对特定密钥的可选读取和写入访问权限。 详细了解如何为状态存储配置 MQTT 代理授权

与状态存储交互

状态存储 CLI 工具可用于与运行在群集外计算机上的 shell 的状态存储进行交互。 本文档将指导你完成以下操作:

  1. 生成 X.509 证书链以通过 MQTT 代理进行身份验证
  2. 使用 X.509 证书创建 BrokerAuthentication
  3. 创建 LoadBalancer 类型的 BrokerListener,以启用群集外访问

有关使用该工具的说明,请参阅“状态存储 CLI GitHub”页面。

注意

与状态存储交互的 SDK 目前处于活动开发阶段,在不久的将来将可用,以使边缘应用程序能够与状态存储进行交互。