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