2008-09-04 91 views
18

有沒有人有任何關於Web服務構建的經驗,微軟的WCF將擴展到大量的用戶?WCF將如何擴展到大量的客戶端用戶?

我在考慮的級別是1000+客戶端用戶連接到一個WCF服務集合,爲我們的應用程序提供業務邏輯,這些與數據庫交談 - 類似於傳統的3層體系結構。

是否有任何影響性能的特定問題,或者是哪些設計經驗教訓能夠實現此級別的可擴展性?

回答

15

爲了確保您的WCF應用程序可以擴展到預期的水平,我認爲你可能需要調整您的服務必須滿足的統計你的思維。

您提到服務「1000+客戶端用戶」,但要衡量您的服務是否可以在該級別執行,您還需要一些估計的使用數據,這將有助於您計算一些簡單的統計數據,例如請求數每秒你的應用需要處理。

剛剛完成WCF項目的工作時,我們設法在測試硬件上每秒獲得400個請求,這與我們每天發出300個請求的每個用戶的預期使用模式相結合,表明我們可以平均處理100,000個用戶日(假設一天中的平面使用圖)。

此外,由於WCF服務代碼無狀態是相當常見的,所以通過添加額外的框來擴展實際的WCF代碼非常容易,這意味着系統的整體性能更可能受到限制你的業務邏輯和持久層比它是由WCF。

2

也許你可以開始尋找第一個(除了僅僅有良好的服務代碼)的4件最重要的事情是與項目:

  • 綁定 - 一些約束力,他們協議運行它們只是速度比其他,TCP將是比任何HTTP綁定
  • 更快
  • 實例模式 - 這決定了你的類是如何對會議呼叫者分配
  • 一個&雙向操作 - 如果不需要響應返回給客戶端,然後做單向
  • 節流 - 最大會話/ Concurant電話和實例

他們沒有設計WCF是安全的默認情況下默認是非常有限的。