64㎡年輕小夫妻的家,三居改一居,安放屋主的所有喜好!
2023-01-30
更新時(shí)間:2022-03-14 21:50:59作者:未知
1、下面的架構(gòu)就是我們今天的演示結(jié)構(gòu),后端有兩臺(tái)服務(wù)器,分別是node1和node2,前端是一臺(tái)web服務(wù)器,然后在web服務(wù)器上做負(fù)載均衡,將前端的訪問流量導(dǎo)到后端的兩個(gè)節(jié)點(diǎn)服務(wù)器上。三個(gè)服務(wù)器的IP地址分別是:web:192.168.1.210node1:192.168.1.211node2:192.168.1.212
2、按照這樣的架構(gòu),在后端的node1和node2節(jié)點(diǎn)上分配配置好需要訪問的網(wǎng)站,然后為了方便測試,我們將兩個(gè)網(wǎng)站的主頁分別改成下面的內(nèi)容。便于區(qū)分訪問的節(jié)點(diǎn)。
3、后端兩個(gè)節(jié)點(diǎn)配置好以后,我們再來配置web服務(wù)器里的負(fù)載均衡配置,首先使用默認(rèn)配置,先打開/etc/nginx/nginx.conf配置文件,在http區(qū)塊里添加upstream塊內(nèi)容,及配置了兩個(gè)后端服務(wù)器,后端負(fù)載均衡集群的名稱是backend,記下這個(gè)名稱。
4、然后再打開/etc/nginx/conf.d/default.conf這個(gè)配置文件,在server區(qū)塊里,把location里面的內(nèi)容改成圖中所示內(nèi)容。即將所有訪問192.168.1.210的流量代理到后端的backend集群里。
5、配置文件配置好以后,使用nginx -t命令測試一下配置文件,保證配置文件是ok狀態(tài),然后執(zhí)行nginx命令啟動(dòng)nginx服務(wù)器。
6、啟動(dòng)后在瀏覽器上輸入前端web服務(wù)器的ip地址192.168.1.210,然后可以看到第一次是node1響應(yīng)的,然后刷新一下以后,又變成了node2響應(yīng)的。就這樣實(shí)現(xiàn)了負(fù)載均衡的效果。由兩個(gè)服務(wù)器分別響應(yīng),是因?yàn)槟J(rèn)的負(fù)載均衡算法是輪詢算法,即兩個(gè)節(jié)點(diǎn)輪流來。
7、然后我們還可以嘗試一下加權(quán)輪詢算法, 即給不同的節(jié)點(diǎn)配置不同的權(quán)重,權(quán)重高一點(diǎn)的服務(wù)器,響應(yīng)的多一些,權(quán)重第一點(diǎn)的響應(yīng)少一些。加權(quán)輪詢算法配置,在后端服務(wù)器后面加上權(quán)重值weight即可。配置好以后,執(zhí)行nginx -t命令檢測配置文件,確認(rèn)無誤后,執(zhí)行nginx -s reload命令重新加載配置文件。
8、通過加權(quán)輪詢的方式,我們無法通過手動(dòng)一次次點(diǎn)擊,最后來統(tǒng)計(jì)次數(shù)。但是我們可以使用自動(dòng)化工具來統(tǒng)計(jì)。使用的工具是一款叫做httpd-tools的軟件,安裝好以后,提供了一個(gè)ab命令
9、然后我們來執(zhí)行ab命令進(jìn)行測試,常用的格式是:ab -n 1000 -c 50 http://localhost這個(gè)命令是在210服務(wù)器上執(zhí)行的。表示一共執(zhí)行1000次訪問,每次發(fā)送50個(gè)請求。
10、然后我們登錄到后端的node1服務(wù)器上,打開nginx的訪問日志,從中可以看到ab命令測試的訪問信息里,訪問來源都是ApacheBench,因此可以通過可以來源來統(tǒng)計(jì)nginx響應(yīng)的次數(shù)。命令是:grep ApacheBench access.log | wcnode1和node2節(jié)點(diǎn)上的統(tǒng)計(jì)結(jié)果分別是714和286,如下面圖中所示,雖然沒有達(dá)到5:2的權(quán)重比例,但是也非常接近了。說明這個(gè)配置生效了。