日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
WCF負載平衡實現(xiàn)方法總結(jié)

WCF框架是一款功能比較強大的開發(fā)工具。對于一個經(jīng)驗豐富的開發(fā)人員來說,對這框架的應用應該是相當熟悉的。提高WCF應用程序能力的方法之一是通過把它們部署到負載平衡的服務器場來擴展它們。#t#

使用標準的WCF負載平衡技術(shù),包括諸如 Windows 網(wǎng)絡負載平衡這樣的軟件負載平衡器以及基于硬件的負載平衡設備,可以使 WCF 應用程序?qū)崿F(xiàn)負載平衡。

以下各節(jié)討論對使用各種系統(tǒng)提供的綁定生成的 WCF 應用程序?qū)崿F(xiàn)負載平衡時的注意事項。

基本 HTTP 綁定的WCF負載平衡

從負載平衡的角度看,使用 BasicHttpBinding 進行通信的 WCF 應用程序與其他普通類型的 HTTP 網(wǎng)絡流量(如靜態(tài) HTML 內(nèi)容、ASP.NET 頁或 ASMX Web 服務)并沒有什么區(qū)別。使用此綁定的 WCF 通道本質(zhì)上是無狀態(tài)的,當通道關(guān)閉時,其連接也會終止。因此,BasicHttpBinding 可以很好地與現(xiàn)有的 HTTP 負載平衡技術(shù)一起使用。

默認情況下,BasicHttpBinding 會在消息中發(fā)送一個具有 Keep-Alive 值的連接 HTTP 標頭,該標頭可讓客戶端建立到支持這些客戶端的服務的持續(xù)連接。這種配置具有高的吞吐量,因為可以重新使用以前建立的連接向同一個服務器發(fā)送后續(xù)消息。然而,重新使用連接可能導致客戶端與負載平衡場中的特定服務器密切關(guān)聯(lián),從而降低循環(huán)負載平衡的效率。如果不需要此行為,則可以使用 CustomBinding 或用戶定義的 Binding 在使用 KeepAliveEnabled 屬性的服務器上禁用 HTTP Keep-Alive。下面的示例演示如何使用配置來執(zhí)行該操作。

 
 
 
  1. < ?xml version="1.0" encoding="utf-8" ?> 
  2. < configuration> 
  3. < system.serviceModel> 
  4. < services> 
  5. < service   
  6. name="Microsoft.ServiceModel.
    Samples.CalculatorService" 
  7. behaviorConfiguration="
    CalculatorServiceBehavior"> 
  8. < host> 
  9. < baseAddresses> 
  10. < add baseAddress="http://
    localhost:8000/servicemodelsamples/service"/> 
  11. < /baseAddresses> 
  12. < /host> 
  13. < !-- configure http endpoint, 
    use base address provided by host  
  14. And the customBinding --> 
  15. < endpoint address="" 
  16. binding="customBinding" 
  17. bindingConfiguration="HttpBinding"   
  18. contract="Microsoft.ServiceModel
    .Samples.ICalculator" /> 
  19. < /service> 
  20. < /services> 
  21. < bindings> 
  22. < customBinding> 
  23. < !-- Configure a CustomBinding
     that disables keepAliveEnabled--> 
  24. < binding name="HttpBinding" 
    keepAliveEnabled="False"/> 
  25. < /customBinding> 
  26. < /bindings> 
  27. < /system.serviceModel> 
  28. < /configuration> 

WSHttp 綁定和 WSDualHttp 綁定的WCF負載平衡

如果對默認的綁定配置進行一些修改,則 WSHttpBinding 和 WSDualHttpBinding 都可以使用 HTTP 負載平衡技術(shù)來實現(xiàn)負載平衡。

關(guān)閉安全上下文的建立:這可以通過將 WSHttpBinding 上的 EstablishSecurityContext 屬性設置為 false 來完成。或者,如果需要安全會話,則可以按照 安全會話 主題中的說明,使用有狀態(tài)安全會話。有狀態(tài)安全會話使服務保持無狀態(tài),因為安全會話的所有狀態(tài)都隨每個請求作為保護安全令牌的一部分進行傳輸。請注意,若要啟用有狀態(tài)安全會話,必須使用 CustomBinding 或用戶定義的 Binding,因為系統(tǒng)提供的 WSHttpBinding 和 WSDualHttpBinding 上并不會公開必需的配置設置。

不要使用可靠會話。默認情況下此功能處于關(guān)閉狀態(tài)。

使 Net.TCP 綁定實現(xiàn)WCF負載平衡

可以使用 IP 層負載平衡技術(shù)實現(xiàn) NetTcpBinding 的負載平衡。不過,默認情況下,NetTcpBinding 會匯集 TCP 連接以減少連接延遲。這是一種干擾負載平衡基本機制的優(yōu)化。用于優(yōu)化 NetTcpBinding 的主配置值是租約超時,它是連接池設置的一部分。連接池導致客戶端連接與場內(nèi)特定的服務器關(guān)聯(lián)。隨著這些連接的生存期的增加(一個受租約超時設置控制的因素),場內(nèi)不同服務器上的負載分布會變得不平衡。結(jié)果使平均調(diào)用時間增加。

因此,在負載平衡方案中使用 NetTcpBinding 時,應考慮減少由綁定使用的默認租約超時。雖然租約超時的***值取決于應用程序,但 30 秒的租約超時對于負載平衡方案不失為一個合理的始點。有關(guān)通道租約超時和其他傳輸配額的更多信息,請參見傳輸配額。

若要在負載平衡方案中獲得***性能,請考慮使用 NetTcpSecurity(Transport 或 TransportWithMessageCredential)。


文章題目:WCF負載平衡實現(xiàn)方法總結(jié)
本文URL:http://www.dlmjj.cn/article/copipcc.html