共用方式為


設計延展性

延展性是應用程式以線性增加資源使用量來服務額外負載的能力。 延展性在任何分散式應用程式中都很重要。 延展性的限制通常以資源使用和相依性為中心,不小心在應用程式的設計中建立。

下列清單描述延展性問題,並建議解決方案:

  • 計算機內部資源。 可用的線程和記憶體數目可能會限制延展性。 使用最適合您應用程式的線程模型。

  • 計算機間資源。 散發應用程式工作負載的可用計算機數目可能會影響延展性。

  • 用戶端親和性。 應用程式可能會意外建立兩種相似性的情況:應用程式相依於用戶端隨其要求傳送之數據的狀態;以及應用程式需要用戶端特定狀態的情況。 避免在用戶端與應用程式之間設計狀態相依性。

  • 伺服器親和性。 COM+ 應用程式可以藉由建立伺服器親和性來限制其延展性,其中應用程式相依於前往特定伺服器計算機以取得資訊。 許多資料庫導向的應用程式都可能發生這種親和性。 避免伺服器親和性瓶頸的最佳方式是將數據分割到各種伺服器計算機上。 例如,將客戶數據除以最常存取的密鑰,或使用客戶的姓氏在數部伺服器上跨越客戶資料庫(例如 Server1:a-f、Server2:g-m、Server3:n-z)。

    注意

    數據分割可以將大量的複雜度新增至程式設計邏輯,而且只有在嘗試其他選項以增加延展性之後才能完成。

     

  • 物件存留期。 若要擴充,COM+ 應用程式必須密切關注物件的生命週期。 物件存在時,會耗用資源。 請務必確保保留昂貴資源之物件的存留期會謹慎管理。 對於不耗用昂貴資源的高需求物件, COM+ 對象共用 可能會增加延展性,因為您可以系統管理地調整集區值,以利用您可能擁有的任何硬體。 而且這是管理連線的自然方式:例如,如果您有 20 個 SQL 連線的授權,您可以使用 [最大集區] 設定來指定。

  • 應用程式元件群組。 若要增強 COM+ 應用程式的延展性,仲介層元件應該分成時間相依和與時間無關的服務。 這可讓您專注於可能使用 Microsoft Windows 服務來實作必要的元件動作。 例如,您可以選擇使用消息佇列COM+ 佇列元件等服務來處理與時間無關的異步工作。

設計可用性

設計部署

設計安全性