很多情況下基于wcf的復(fù)雜均衡都首選zookeeper,這樣可以擁有更好的控制粒度,但zk對C# 不大友好,實現(xiàn)起來相對來說比較麻煩,實際情況下,如果你的負(fù)載機(jī)制粒度很粗糙的話,優(yōu)先使用nginx就可以搞定,既可以實現(xiàn)復(fù)雜均衡,又可以實現(xiàn)雙機(jī)熱備,以最小的代碼量實現(xiàn)我們的業(yè)務(wù),下面具體分享下。
一:準(zhǔn)備的材料
1. 話不多說,一圖勝千言,圖中的服務(wù)器都是采用vmware虛擬化,如下圖:
三臺windows機(jī)器 ,兩個WCF的windows服務(wù)器承載(192.168.23.187,192.168.23.188),一臺Client的服務(wù)器(192.168.23.1)
一臺Centos機(jī)器,用來承載web復(fù)雜均衡nginx(192.168.23.190)。
在所有的Client的Hosts文件中增加host映射:【192.168.23.190 cluster.com】,方便通過域名的形式訪問nginx所在服務(wù)器的ip地址。
二:環(huán)境搭建
1、WCF程序
既然是測試,肯定就是簡單的程序,代碼就不完全給出了。
App.Config代碼
因為windows的兩臺機(jī)器的ip地址是192.168.23.187,192.168.23.188,所以部署的時候注意一下config中的baseAddress地址。
2、centos上的nginx搭建
nginx我想大家用的還是比較多的,去官網(wǎng)下載最新的就好【nginx-1.13.6】:http://nginx.org/en/downl
OAd.html,下載之后,就是常規(guī)的三板斧安裝!!
然后在nginx的安裝目錄下面找到conf文件,修改里面的nginx.conf 配置。
詳細(xì)配置如下,注意下面“標(biāo)紅”的地方,權(quán)重按照1:5的方式進(jìn)行調(diào)用,關(guān)于其他的配置,大家可以在網(wǎng)上搜一下就可以了。
3、 client端的程序搭建
第一件事就是將 192.168.23.190 映射到本機(jī)的host中去,因為服務(wù)不提供給第三方使用,所以加host還是很輕松的。
192.168.23.190 cluster.com
然后就是client端程序添加服務(wù)引用,因為添加了host映射,所以服務(wù)引用地址就是"http://cluster.com"。 代碼如下:
最后來執(zhí)行以下程序,看看1000次循環(huán)中,是不是按照權(quán)重1:5 的方式對后端的wcf進(jìn)行調(diào)用的???
看到?jīng)]有,是不是很牛逼,我只需要通過cluster.com進(jìn)行服務(wù)訪問,nginx會自動給我復(fù)雜均衡,這就是我們開發(fā)中非常簡單化的wcf復(fù)雜均衡。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:使用Nginx搭建高可用,高并發(fā)的WCF集群
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/14019321434.html