狀態存放區是分散式記憶體系統,部署為 Azure IoT 操作的一部分。 使用狀態存放區,應用程式可以取得、設定和刪除機碼值組,而不需要安裝其他服務,例如 Redis。 狀態存放區也提供資料的版本設定,以及建置分散式鎖定的基本類型,非常適合高可用性應用程式。
如同 Redis,狀態存放區用於記憶體儲存體中。 停止或重新啟動 Kubernetes 叢集會導致狀態存放區內容遺失。
狀態存放區是透過 MQTTv5 實作。 其服務會直接整合至 MQTT 代理程式,並在代理程式啟動時自動啟動。 狀態存放區提供與 MQTT 代理程式相同的高可用性。
為什麼要使用狀態存放區?
狀態存放區可讓邊緣應用程式在邊緣保存資料。 狀態存放區的一般用法包括:
- 建立無狀態應用程式
- 在應用程式之間共用狀態
- 開發高可用性應用程式
- 儲存資料流要使用的資料
狀態存放區授權
狀態存放區會擴充 MQTT 代理程式授權機制,讓個別用戶端可以具有特定金鑰的選用讀取和寫入存取權。 深入閱讀如何為狀態存放區設定 MQTT 代理程式授權。
與狀態存放區互動
有狀態存放區 CLI 工具可用,其可讓您從叢集內和外電腦上執行的殼層,與狀態存放區互動。 此文件將引導您:
- 產生 X.509 憑證鏈結以向 MQTT 代理程式進行驗證
- 使用 x.509 憑證建立
BrokerAuthentication - 建立類型 LoadBalancer 的
BrokerListener,以啟用叢集外存取
如需使用此工具的指示,請參閱狀態存放區 CLI GitHub 頁面。
備註
與狀態存放區互動的 SDK 目前正在積極開發中,且即將推出,讓邊緣應用程式能夠與狀態存放區互動。