偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

WCF負載平衡基礎(chǔ)知識解析

開發(fā) 開發(fā)工具
WCF負載平衡在實現(xiàn)的過程中需要注意一些細節(jié)問題。我們在這里就為大家總結(jié)了這些比較重要的細節(jié)問題,來幫助大家解決相關(guān)問題。

WCF是一個由微軟公司開發(fā)的開發(fā)插件,它是一個建立在是建立在.Net Framework 2.0基礎(chǔ)之上的.Net Framework 3.0重要組件。在這篇文章中,我們會了解到其中一個比較基礎(chǔ)的WCF負載平衡的相關(guān)內(nèi)容。#t#

提高 Windows Communication Foundation (WCF) 應(yīng)用程序能力的方法之一是通過把它們部署到負載平衡的服務(wù)器場來擴展它們。使用標準的負載平衡技術(shù),包括諸如 Windows 網(wǎng)絡(luò)負載平衡這樣的軟件負載平衡器以及基于硬件的負載平衡設(shè)備,可以使 WCF 應(yīng)用程序?qū)崿F(xiàn)負載平衡。

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

基本 HTTP 綁定的WCF負載平衡

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

默認情況下,BasicHttpBinding 會在消息中發(fā)送一個具有 Keep-Alive 值的連接 HTTP 標頭,該標頭可讓客戶端建立到支持這些客戶端的服務(wù)的持續(xù)連接。這種配置具有高的吞吐量,因為可以重新使用以前建立的連接向同一個服務(wù)器發(fā)送后續(xù)消息。然而,重新使用連接可能導(dǎo)致客戶端與負載平衡場中的特定服務(wù)器密切關(guān)聯(lián),從而降低循環(huán)負載平衡的效率。如果不需要此行為,則可以使用 CustomBinding 或用戶定義的 Binding 在使用 KeepAliveEnabled 屬性的服務(wù)器上禁用 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 屬性設(shè)置為 false 來完成?;蛘撸绻枰踩珪?,則可以按照 安全會話 主題中的說明,使用有狀態(tài)安全會話。有狀態(tài)安全會話使服務(wù)保持無狀態(tài),因為安全會話的所有狀態(tài)都隨每個請求作為保護安全令牌的一部分進行傳輸。請注意,若要啟用有狀態(tài)安全會話,必須使用 CustomBinding 或用戶定義的 Binding,因為系統(tǒng)提供的 WSHttpBinding 和 WSDualHttpBinding 上并不會公開必需的配置設(shè)置。

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

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

可以使用 IP 層負載平衡技術(shù)實現(xiàn) NetTcpBinding 的負載平衡。不過,默認情況下,NetTcpBinding 會匯集 TCP 連接以減少連接延遲。這是一種干擾負載平衡基本機制的優(yōu)化。用于優(yōu)化 NetTcpBinding 的主配置值是租約超時,它是連接池設(shè)置的一部分。連接池導(dǎo)致客戶端連接與場內(nèi)特定的服務(wù)器關(guān)聯(lián)。隨著這些連接的生存期的增加(一個受租約超時設(shè)置控制的因素),場內(nèi)不同服務(wù)器上的負載分布會變得不平衡。結(jié)果使平均調(diào)用時間增加。因此,在負載平衡方案中使用 NetTcpBinding 時,應(yīng)考慮減少由綁定使用的默認租約超時。雖然租約超時的最佳值取決于應(yīng)用程序,但 30 秒的租約超時對于負載平衡方案不失為一個合理的始點。有關(guān)通道租約超時和其他傳輸配額的更多信息,請參見傳輸配額。

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

責任編輯:曹凱 來源: 博客園
相關(guān)推薦

2009-12-21 17:24:46

WCF負載平衡

2010-04-20 13:36:17

負載平衡

2010-05-04 17:31:05

2010-05-05 18:07:53

網(wǎng)絡(luò)負載平衡

2010-05-10 17:15:36

負載平衡方案

2010-05-04 17:50:41

負載平衡

2010-12-17 10:45:13

ldirectordLVS負載平衡

2009-11-05 09:51:14

WCF基礎(chǔ)

2010-04-21 13:48:48

網(wǎng)絡(luò)負載平衡

2010-05-04 17:54:50

網(wǎng)絡(luò)負載平衡

2013-12-16 15:09:15

多核負載

2010-05-04 17:38:36

ISP負載平衡

2010-05-04 17:45:49

自動負載平衡

2013-05-30 09:58:50

RouterosADSL負載均衡技術(shù)

2010-05-10 18:27:51

負載平衡產(chǎn)品

2010-04-25 23:36:47

負載平衡服務(wù)器

2010-05-10 18:19:00

負載平衡技術(shù)

2022-02-06 11:50:29

HAProxy網(wǎng)絡(luò)流量系統(tǒng)運維

2023-12-15 19:29:20

2020-03-19 13:10:48

DRSVMware負載平衡
點贊
收藏

51CTO技術(shù)棧公眾號