php发展

首页 » 常识 » 常识 » 使用nginx搭建高可用高并发的wcf集
TUhjnbcbe - 2021/5/2 22:27:00

很多情况下基于wcf的复杂均衡都首选zookeeper,这样可以拥有更好的控制粒度,但zk对C#不大友好,实现起来相对来说比较麻烦,实际情况下,如果你的负载机制粒度很粗糙的话,用nginx就可以搞定啦,既可以实现复杂均衡,又可以实现双机热备,以最小的代码量实现我们的业务。

一:准备的材料1.话不多说,一图胜千言,图中的服务器都是采用vmware虚拟化,如下图:三台windows机器,两个WCF的windows服务器承载(..23.,..23.),一台Client的服务器(..23.1)一台Centos机器,用来承载web复杂均衡nginx(..23.)。在所有的Client的Hosts文件中增加host映射:,方便通过域名的形式访问nginx所在服务器的ip地址。二:环境搭建1.WCF程序

既然是测试,肯定就是简单的程序,代码就不完全给出了。

HomeService实现类代码如下(输出当前server的ip地址,方便查看):

publicclassHomeService:IHomeService{publicstringDoWork(stringmsg){varip=Dns.GetHostAddresses(Dns.GetHostName()).FirstOrDefault(i=i.AddressFamily==AddressFamily.InterNetwork).ToString();returnstring.Format("当前request由server={0}返回",ip);}}App.Config代码

?xmlversion="1.0"encoding="utf-8"?configurationstartupsupportedRuntimeversion="v4.0"sku=".NETFramework,Version=v4.5.2"//startupsystem.serviceModelbehaviorsserviceBehaviorsbehaviorname=""serviceMetadata

1
查看完整版本: 使用nginx搭建高可用高并发的wcf集