如何在.NET 3.5 WCF中实现服务的负载平衡/路由

Miracle 2008-04-09 02:55:21
我现在正在探索使用WCF技术构建一组服务,其中最大的问题就是不知道如何在.NET 3.5 WCF中实现服务的负载平衡/路由。详情如下:
1. 有一组应用服务器,通过WCF开放复杂的计算服务,运算量很大。因此服务器数量会随着请求量的增加而增加
2. 客户端可能会通过WCF连接到任何一台应用服务器来请求运算。
3. 我希望能够通过WCF内置的技术实现一种负载平衡、路由机能,当客户端对一台应用服务器的请求失败时(比如服务器当机,服务器忙),可以透明的切换到另外一台服务器去。

目前我可以使用其他技术来侦听各个服务器的运行状况,每隔一段时间去更新一下可用服务器列表,让客户端自己(或者设计一个应用网关通知客户端)去选择使用哪个有效的服务器,但这并不理想。我很想知道WC有没有提供内置的解决方案,如果有,应该如何使用。
...全文
785 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
charley_yang 2010-08-05
  • 打赏
  • 举报
回复
我也碰到这个问题
不吊你 2010-03-25
  • 打赏
  • 举报
回复
看看高手的解答
hwj2008 2009-07-06
  • 打赏
  • 举报
回复
学习中
Miracle 2008-04-10
  • 打赏
  • 举报
回复
谢谢1楼和2楼的提示!很有帮助
Miracle 2008-04-09
  • 打赏
  • 举报
回复
谢谢大家的回答,

我现在考虑的系统要支撑每天1000万的点击量,并可能在将来跃升至上亿,因此对于负载均衡的要求是比较高的,与业务逻辑直接挂钩的。简单的使用IP负载平衡或者IIS内置的负载平衡策略是不现实的。
  • 打赏
  • 举报
回复
ip负载平衡。例如:
http://www.google.cn/search?sourceid=navclient&hl=zh-CN&ie=UTF-8&rlz=1T4GGLS_zh-CNCN263CN263&q=windows2003%e8%b4%9f%e8%bd%bd%e5%b9%b3%e8%a1%a1

如果wcf来实现负载则太“笨重”了。
蒋晟 2008-04-09
  • 打赏
  • 举报
回复
http://msdn2.microsoft.com/en-us/library/ms730128.aspx
possible_Y 2008-04-09
  • 打赏
  • 举报
回复
可以在Channel Stack上做手脚,在Channerl插入一个直接的模块来实现负载路由的逻辑
  • 打赏
  • 举报
回复
wcf负载平衡应该是用在一种非常巨型、逻辑上非常灵活的地方。例如google有超过40万台服务器,而每一个文件数据块的查询可能平均仅在3台机器上,这就不是6、7台服务器ip负载平衡的概念,而是比较高级的逻辑系统控制概念。如果对信息的控制不需要这么高级,使用低级的系统级(与业务逻辑无关的)中的负载平衡技术就可以了。
gentleqing 2008-04-09
  • 打赏
  • 举报
回复
可以把WCF驻留在IIS中,由IIS去实现这些。

17,739

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧