Azure Logic Apps 中的可靠性
本文說明 Azure Logic Apps 中的可靠性支援,涵蓋透過可用性區域和多區域部署的區域內部復原能力。
復原是您與Microsoft之間的共同責任,因此本文也涵蓋建立符合您需求的復原解決方案的方法。
邏輯應用程式工作流程可藉由減少您必須撰寫的程式碼數量,協助您更輕鬆地整合及協調應用程式、雲端服務和內部部署系統之間的資料。 當您規劃復原功能時,請確定您不只考慮邏輯應用程式,也考慮您搭配邏輯應用程式使用的這些 Azure 資源:
您從邏輯應用程式工作流程建立的連線,以連至其他應用程式、服務及系統。 如需詳細資訊,請參閱本主題稍後將討論的連線至資源部分。
內部部署數據閘道,這是您在邏輯應用程式中建立和使用以存取內部部署系統中數據的 Azure 資源。 每個網路閘道資源都代表本機電腦上的個別資料閘道安裝。 您可以使用多部計算機來設定內部部署數據閘道,以達到高可用性。 如需詳細資訊,請參閱 高可用性支援。
您在其中定義和儲存邏輯應用程式工作流程用於企業對企業整合案例的成品。B2B 企業整合案例。 例如,您可以設定整合帳戶的跨區域災害復原。
多租使用者 Azure Logic Apps 會自動管理取用工作流程的計算基礎結構和資源。 您不需要設定或管理任何虛擬機(VM)。 取用工作流程會共用許多客戶之間的計算基礎結構。
單一租使用者 Azure Logic Apps 會在專用計算資源上執行標準工作流程,這些資源專用於您,且稱為 方案。 每個方案可以有多個實例,而且這些實例可以選擇性地分散到多個可用性區域。 您的工作流程會在方案的實例上執行。
生產部署建議
針對具有隔離或網路安全性需求的企業和安全工作流程,建議您在單一租使用者 Azure Logic Apps 中建立和執行標準工作流程,而不是在多租使用者 Azure Logic Apps 中使用工作流程。 如需詳細資訊,請參閱 建立及部署至不同的環境。
針對使用單一租使用者 Azure Logic Apps 的生產部署,您應該 啟用區域備援 ,將邏輯應用程式資源分散到多個可用性區域。
暫時性錯誤
暫時性錯誤是元件中的短暫間歇性失敗。 它們經常出現在雲端等分散式環境中,而且是作業的一般部分。 在短時間內,他們糾正了自己。 請務必讓應用程式處理暫時性錯誤,通常是藉由重試受影響的要求。
所有雲端裝載的應用程式都應該遵循 Azure 的暫時性錯誤處理指引,以與任何雲端裝載的 API、資料庫和其他元件通訊。 若要深入瞭解處理暫時性錯誤,請參閱 處理暫時性錯誤的建議。
在 Azure Logic Apps 中,許多觸發程式和動作會自動支援 重試原則,這會自動重試因暫時性錯誤而失敗的要求。 若要瞭解如何變更或停用邏輯應用程式的重試原則,請參閱 處理 Azure Logic Apps 中的錯誤和例外狀況。
如果動作失敗,您可以自定義後續動作的行為。 您也可以建立 範圍 ,將可能失敗或成功的相關動作分組在一起。
如需 Azure Logic Apps 中錯誤處理的詳細資訊,請參閱 處理 Azure Logic Apps 中的錯誤和例外狀況。
可用性區域支援
可用性區域是每個 Azure 區域內的數據中心實體分隔群組。 當某個區域失敗時,服務可以故障轉移至其中一個其餘區域。
如需 Azure 中可用性區域的詳細資訊,請參閱 什麼是可用性區域?。
Azure Logic Apps 支援 區域備援,其會將計算資源分散到多個 可用性區域。 當您將邏輯應用程式工作負載資源分散到可用性區域時,您可以改善生產邏輯應用程式工作負載的復原和可靠性。
多租使用者 Azure Logic Apps 中的新增和現有取用邏輯應用程式工作流程會自動啟用區域備援。
針對在單一租使用者 Azure Logic Apps 中使用工作流程服務方案裝載選項的標準工作流程,您可以選擇性地啟用區域備援。
針對具有 App Service 環境 v3 裝載選項的標準工作流程,您可以選擇性地啟用區域備援。 如需 App Service 環境 v3 如何支援可用性區域的詳細資訊,請參閱 App Service 中的可靠性。
支援的區域
在支援可用性區域的任何區域中部署的取用邏輯應用程式會自動有區域備援。 日本西部是例外狀況,目前不支援區域備援邏輯應用程式,因為某些相依性服務尚不支援區域備援。
您可以在支援 Azure App 服務 可用性區域的任何區域中,使用工作流程服務方案部署區域備援標準邏輯應用程式。 日本西部是例外狀況,目前不支援區域備援邏輯應用程式。 如需詳細資訊,請參閱 Azure App 服務 中的可靠性。
若要查看哪些區域支援 App Service 環境 v3 的可用性區域,請參閱區域。
需求
您必須部署至少三個工作流程服務方案的實例。 每個實例大致對應到一個 VM。 若要將這些實例分散到可用性區域,您至少必須有三個實例。
考量
- 記憶體:當您設定具狀態標準工作流程的外部記憶體時,您必須為區域備援設定記憶體帳戶。 如需詳細資訊,請參閱 Azure Functions 的儲存體考量。
連接器:當您的邏輯應用程式是區域備援時,內建連接器會自動區域備援。
整合帳戶: 進階 SKU 整合帳戶 預設為區域備援。
成本
無額外費用適用於使用區域備援,這會針對多租使用者 Azure Logic Apps 中的新和現有取用工作流程自動啟用。
當您在單一租使用者 Azure Logic Apps 中使用工作流程服務方案時,只要您有三個以上的方案實例,就不需要額外的成本來啟用可用性區域。 系統會根據您的方案 SKU、指定的容量,以及根據自動調整準則相應增加或減少的任何實例,向您收費。 如果您啟用可用性區域,但指定容量少於三個實例,則平臺會強制執行最少三個實例,並向您收取這三個實例的費用。
App Service 環境 v3 具有區域備援的特定定價模式。 如需 App Service 環境 v3 的定價資訊,請參閱定價。
設定可用性區域支援
取用邏輯應用程式工作流程會自動支援區域備援,因此不需要任何設定。
建立具有區域備援的新工作流程。
若要啟用標準邏輯應用程式工作流程的區域備援,請參閱 為您的邏輯應用程式啟用區域備援。
移轉
建立服務方案之後,您無法啟用區域備援。 相反地,您必須建立已啟用區域備援的新方案,並刪除舊的方案。
停用區域備援。
建立工作流程服務方案之後,您無法停用區域備援。 相反地,您必須建立已停用區域備援的新方案,並刪除舊的方案。
容量規劃和管理
若要準備可用性區域失敗,請考慮 過度布 建服務的容量。 過度布建可讓解決方案容許某種程度的容量遺失,但仍會繼續運作,而不會降低效能。
若要瞭解要過度布建的實例數目,請務必知道平臺會將實例分散到多個區域。 您必須至少考慮一個區域的失敗。
請遵循下列步驟來找出您應該布建的實例總數:
- 判斷尖峰工作負載所需的實例數目。 在此範例中,我們使用兩個案例。 一個是具有 3 個實例,一個是 4。
- 藉由將尖峰工作負載實例計數乘以 [(zones/(zones-1)] 因數,擷取過度布建實例計數:
注意
下表假設您使用的是三個可用性區域。 如果您使用不同的可用性區域數目,請據以調整公式。
尖峰工作負載實例計數 | [(zones/(zones-1)] 的因素 | 公式 | 要佈建的實例(四捨五入) |
---|---|---|---|
3 | 3/2 或 1.5 | (3 x 1.5 = 4.5) | 5 個執行個體 |
4 | 3/2 或 1.5 | (4 x 1.5 = 4.5) | 6 個實例 |
區域之間的流量路由
在一般作業期間,工作流程調用可以在區域內的任何可用性區域中使用計算資源。
在一般作業期間,工作流程調用會分散到所有可用性區域的所有可用方案實例之間。
區域關閉體驗
偵測和回應: Azure Logic Apps 平臺負責偵測可用性區域中的失敗。 您不需要執行任何動作來起始區域故障轉移。
作用中要求: 如果可用性區域變成無法使用,則會終止在錯誤可用性區域中 VM 上執行的任何進行中工作流程執行。 Azure Logic Apps 平臺會自動在不同可用性區域中的另一個 VM 上繼續工作流程。 由於此行為,使用中的工作流程可能會經歷一些 暫時性錯誤 或更高的延遲,因為新的 VM 會新增至其餘的可用性區域。
容錯回復
當可用性區域復原時,Azure Logic Apps 會自動還原可用性區域中的實例、移除在其他可用性區域中建立的任何暫存實例,並正常重新路由傳送實例之間的流量。
測試區域失敗
Azure Logic Apps 平臺會管理區域備援邏輯應用程式資源的流量路由、故障轉移和容錯回復。 您不需要起始任何專案。 此功能完全受控,因此您不需要驗證可用性區域失敗程式。
多區域支援
每個邏輯應用程式都會部署到單一 Azure 區域。 如果區域變成無法使用,邏輯應用程式也無法使用。
替代的多區域方法
若要提高復原能力,您可以在次要區域中部署待命或備份邏輯應用程式,並在主要區域無法使用時故障轉移至該其他區域。 若要啟用這項功能,請完成下列工作:
- 在主要和次要區域中部署邏輯應用程式。
- 視需要重新設定資源的連線。
- 設定負載平衡和故障轉移原則。
- 規劃監視主要實例健康情況並起始故障轉移。
如需邏輯應用程式工作流程多區域部署的詳細資訊,請參閱下列檔:
服務等級協定
Azure Logic Apps 的服務等級協定 (SLA) 描述服務的預期可用性。 本合約也說明達到此期望的條件。 若要瞭解這些條件,請確定您檢閱 在線服務的服務等級協定(SLA)。