IoT 中樞和可靠性
Azure IoT 中樞 是裝載在雲端中的受控服務,可作為IoT應用程式與其連結裝置之間通訊的中央訊息中樞。 您可以可靠且安全地將數百萬個裝置與其後端解決方案連線。 幾乎任何裝置皆可連線至 IoT 中樞。
IoT 中樞 支援監視,以協助您追蹤裝置建立、裝置連線和裝置失敗。
IoT 中樞 也支援下列傳訊模式:
- 裝置到雲端的遙測
- 從裝置上傳檔案
- 要求-回復方法,以從雲端控制您的裝置
如需 IoT 中樞 的詳細資訊,請參閱 IoT 概念和 Azure IoT 中樞。
若要瞭解 IoT 中樞 如何支援可靠的工作負載,請參閱下列主題:
下列各節專屬於 Azure IoT 中樞 和可靠性:
- 設計考量
- 設定檢查清單
- 建議的組態選項
設計考量
如需 Azure IoT 中樞 服務等級協定的詳細資訊,請參閱 Azure IoT 中樞 的 SLA。
檢查清單
您是否已將可靠性設定為 Azure IoT 中樞?
- 在另一個區域中布建第二個 IoT 中樞,並在裝置上有路由邏輯。
- 經常傳送事件時,
AMQP
請使用 或MQTT
通訊協定。 - 如果您使用 X.509 憑證進行裝置連線,請只在生產環境中使用根 CA 所驗證的憑證 。
- 針對最大輸送量,如果您打算使用內建端點,請在建立 IoT 中樞 時,使用最大分割區數目
32
。。 - 若要調整規模,請增加階層並配置 IoT 中樞 單位,而不是為每個區域新增多個 IoT 中樞。
- 在高輸送量案例中,使用批次事件。
- 如果您需要最小可能的延遲,請勿使用路由,並從內建端點讀取事件。
- 作為整個解決方案可用性和災害復原策略的一部分,請考慮使用 IoT 中樞 跨區域災害復原選項。
- 從內建事件中樞相容端點讀取裝置遙測時,請參閱 事件中樞取用者建議。
- 使用 SDK 將事件傳送至 IoT 中樞 時,請確定已正確攔截重試原則 (
EventHubsException
或OperationCancelledException
) 擲回的例外狀況。 - 若要避免因節流和完全使用的配額而導致遙測中斷,請考慮新增 自定義的自動調整解決方案。
組態建議
請考慮下列建議,以在設定 Azure IoT 中樞 時將可靠性優化:
建議 | 描述 |
---|---|
在另一個區域中布建第二個 IoT 中樞,並在裝置上有路由邏輯。 | 這些設定可以透過指引服務進一步增強。 |
經常傳送事件時, AMQP 請使用 或 MQTT 通訊協定。 |
AMQP 在初始化會話時,和 MQTT 具有較高的網路成本,但 HTTPS 每個要求都需要額外的 TLS 額外負荷。 AMQP 且 MQTT 對於頻繁發行者具有較高的效能。 |
如果您使用 X.509 憑證進行裝置連線,請只在生產環境中使用根 CA 所驗證的憑證 。 | 請確定您有程式在憑證到期前更新憑證。 |
針對最大輸送量,如果您打算使用內建端點,請在建立 IoT 中樞 時使用最大分割區數目32 ()。 |
事件中樞相容端點的裝置到雲端分割區數目反映了您可以達成的下游平行處理原則程度。 這可讓您相應增加為 32 並行處理實體,並提供最高的傳送和接收可用性。 建立之後,就無法變更此數位。 |
若要調整規模,請增加階層並配置 IoT 中樞 單位,而不是為每個區域新增多個 IoT 中樞。 | 每個區域新增多個 IoT 中樞 不提供額外的復原功能,因為所有中樞都可以在相同的基礎叢集上執行。 |
在高輸送量案例中,使用批次事件。 | 服務會將具有多個事件的數位傳遞給取用者,而不是具有一個事件的陣列。 取用的應用程式必須處理這些陣列。 |
如果您需要最小可能的延遲,請勿使用路由,並從內建端點讀取事件。 | 在 IoT 中樞 中使用訊息路由時,訊息傳遞的延遲會增加。 平均而言,延遲不應超過 500 ms ,但無法保證傳遞延遲。 |
作為整個解決方案可用性和災害復原策略的一部分,請考慮使用 IoT 中樞 跨區域災害復原選項。 | 此選項會將 IoT 中樞 端點移至配對的 Azure 區域。 只會復寫裝置登錄。 事件不會復寫到次要區域。 客戶起始故障轉移的 RTO 介於 10 分鐘到數小時之間。 針對Microsoft起始的故障轉移,RTO 是 2-26 小時。 確認此 RTO 符合客戶的需求,並符合更廣泛的可用性策略。 如果需要較高的 RTO,請考慮實作用戶端故障轉移模式。 |
使用 SDK 將事件傳送至 IoT 中樞 時,請確定已正確攔截重試原則 (EventHubsException 或OperationCancelledException ) 擲回的例外狀況。 |
使用 HTTPS 時,請實作適當的重試模式。 |