生產整備度檢查清單
您的應用程式和叢集已經準備好要接受生產環境流量嗎? 執行並測試您的應用程式和叢集,不一定表示它已經準備好進入生產環境。 完成下列檢查清單,使您的應用程式和叢集保持順暢執行。 我們強烈建議您檢查這些所有項目。 您顯然可以選擇針對特定明細項目 (例如,您自己的診斷架構) 使用替代的解決方案。
適用於生產環境的必要條件
- Azure Service Fabric 最佳做法:應用程式設計、安全性、網路、容量規劃和調整、基礎結構即程式碼和監視和診斷。
- 設定 FabricTransport 設定,如果您是使用 Reliable Actors 程式設計模型,並且需要安全的服務間通訊。
- 若叢集的核心超過 20 個或節點超過 10 個,請建立系統服務專用的主要節點類型。 新增放置條件約束,以保留系統服務的主要節點類型。
- 針對主要節點類型使用 D2v2 或更高的 SKU。 建議挑選至少具有 50 GB 硬碟容量的 SKU。
- 生產環境叢集必須是安全的。 如需設定安全叢集的範例,請參閱此叢集範本 \(英文\)。 針對憑證使用通用名稱,並避免使用自我簽署的憑證。
- 新增容器和服務的資源條件約束,如此一來,它們就不會耗用超過 75% 的節點資源。
- 了解並設定持久性層級。 建議針對執行具狀態工作負載的節點類型,使用銀級或更高的持久性層級,生產則為必須使用。
- 了解並挑選節點類型的可靠性層級。 建議使用銀級或更高層級可靠性,生產則為必須使用。
- 載入您的工作負載並進行調整測試,以識別叢集的容量需求。
- 您的服務和應用程式會受到監視,並產生及儲存應用程式記錄,而且會發出警示。 例如,請參閱為 Service Fabric 應用程式新增記錄功能和使用 Azure 監視器來監視容器。
- 叢集會受到監視並發出警示 (例如,使用 Azure 監視器記錄)。
- 基礎的虛擬機器擴展集基礎結構會受到監視並發出警示 (例如,使用 Azure 監視器記錄)。
- 叢集一律具有主要和次要憑證 (讓您不會遭到鎖定)。
- 分別維護適用於開發、預備及生產環境的叢集。
- 應用程式升級和叢集升級均會先在開發和預備叢集中進行測試。
- 在生產環境叢集中關閉自動升級,並針對開發和預備叢集 (視需要復原) 開啟它。
- 為您的服務建立復原點目標 (RPO),以及設定災害復原程序並加以測試。
- 規劃以手動方式或以程式設計方式調整您的叢集。
- 規劃修補您的叢集節點。
- 建立 CI/CD 管線,以持續測試您的最新變更。 例如,使用 Azure DevOps 或 Jenkins
- 使用錯誤分析服務在低於負載的情況下測試您的開發與預備叢集,並引發受控制的混亂。
- 規劃調整您的應用程式。
如果您使用的是 Service Fabric Reliable Services 或 Reliable Actors 程式設計模型,就必須核對下列項目:
- 在本機開發期間升級應用程式,以檢查您的服務程式碼是否會遵循
RunAsync
方法中的取消權杖,並關閉自訂通訊接聽程式。 - 使用可靠的集合時避免常見陷阱。
- 在執行負載測試時監視 .NET CLR 記憶體效能計數器,並檢查是否有高比率的記憶體回收或失控的堆積成長。
- 維護 Reliable Services 和 Reliable Actors 的離線備份並測試還原程序。
- 在理想情況下,主要節點類型虛擬機器執行個體計數應等於叢集可靠性層的最小值;適合超過最小可靠性層的狀況包括:在以垂直方式調整主要節點類型虛擬機器擴展集的 SKU 時暫時為之。
選用的最佳做法
儘管上述清單為移至生產環境的必要條件,但您也應該將下列項目納入考量:
- 插入 Service Fabric 健康情況模型,以擴充內建的健康情況評估和報告功能。
- 部署自訂的看門狗,以監視您的應用程式和報表負載來進行資源平衡。
下一步
- 部署 Service Fabric Windows 叢集
- 部署 Service Fabric Linux 叢集
- 深入了解 Service Fabric 應用程式生命週期。