Share via


生產整備度檢查清單

您的應用程式和叢集已經準備好要接受生產環境流量嗎? 執行並測試您的應用程式和叢集,不一定表示它已經準備好進入生產環境。 完成下列檢查清單,使您的應用程式和叢集保持順暢執行。 我們強烈建議您檢查這些所有項目。 您顯然可以選擇針對特定明細項目 (例如,您自己的診斷架構) 使用替代的解決方案。

適用於生產環境的必要條件

  1. Azure Service Fabric 最佳做法:應用程式設計安全性網路容量規劃和調整基礎結構即程式碼監視和診斷
  2. 設定 FabricTransport 設定,如果您是使用 Reliable Actors 程式設計模型,並且需要安全的服務間通訊。
  3. 若叢集的核心超過 20 個或節點超過 10 個,請建立系統服務專用的主要節點類型。 新增放置條件約束,以保留系統服務的主要節點類型。
  4. 針對主要節點類型使用 D2v2 或更高的 SKU。 建議挑選至少具有 50 GB 硬碟容量的 SKU。
  5. 生產環境叢集必須是安全的。 如需設定安全叢集的範例,請參閱此叢集範本 \(英文\)。 針對憑證使用通用名稱,並避免使用自我簽署的憑證。
  6. 新增容器和服務的資源條件約束,如此一來,它們就不會耗用超過 75% 的節點資源。
  7. 了解並設定持久性層級。 建議針對執行具狀態工作負載的節點類型,使用銀級或更高的持久性層級,生產則為必須使用。
  8. 了解並挑選節點類型的可靠性層級。 建議使用銀級或更高層級可靠性,生產則為必須使用。
  9. 載入您的工作負載並進行調整測試,以識別叢集的容量需求
  10. 您的服務和應用程式會受到監視,並產生及儲存應用程式記錄,而且會發出警示。 例如,請參閱為 Service Fabric 應用程式新增記錄功能使用 Azure 監視器來監視容器
  11. 叢集會受到監視並發出警示 (例如,使用 Azure 監視器記錄)。
  12. 基礎的虛擬機器擴展集基礎結構會受到監視並發出警示 (例如,使用 Azure 監視器記錄)。
  13. 叢集一律具有主要和次要憑證 (讓您不會遭到鎖定)。
  14. 分別維護適用於開發、預備及生產環境的叢集。
  15. 應用程式升級叢集升級均會先在開發和預備叢集中進行測試。
  16. 在生產環境叢集中關閉自動升級,並針對開發和預備叢集 (視需要復原) 開啟它。
  17. 為您的服務建立復原點目標 (RPO),以及設定災害復原程序並加以測試。
  18. 規劃以手動方式或以程式設計方式調整您的叢集。
  19. 規劃修補您的叢集節點。
  20. 建立 CI/CD 管線,以持續測試您的最新變更。 例如,使用 Azure DevOpsJenkins
  21. 使用錯誤分析服務在低於負載的情況下測試您的開發與預備叢集,並引發受控制的混亂
  22. 規劃調整您的應用程式。

如果您使用的是 Service Fabric Reliable Services 或 Reliable Actors 程式設計模型,就必須核對下列項目:

  1. 在本機開發期間升級應用程式,以檢查您的服務程式碼是否會遵循 RunAsync 方法中的取消權杖,並關閉自訂通訊接聽程式。
  2. 使用可靠的集合時避免常見陷阱
  3. 在執行負載測試時監視 .NET CLR 記憶體效能計數器,並檢查是否有高比率的記憶體回收或失控的堆積成長。
  4. 維護 Reliable Services 和 Reliable Actors 的離線備份並測試還原程序。
  5. 在理想情況下,主要節點類型虛擬機器執行個體計數應等於叢集可靠性層的最小值;適合超過最小可靠性層的狀況包括:在以垂直方式調整主要節點類型虛擬機器擴展集的 SKU 時暫時為之。

選用的最佳做法

儘管上述清單為移至生產環境的必要條件,但您也應該將下列項目納入考量:

  1. 插入 Service Fabric 健康情況模型,以擴充內建的健康情況評估和報告功能。
  2. 部署自訂的看門狗,以監視您的應用程式和報表負載來進行資源平衡

下一步