a)輪詢(預設):每個請求按時間順序逐一分配到不同的後端伺服器;
b)ip_hash:每個請求按訪問ip的hash結果分配,同乙個ip客戶端固定訪問乙個後端伺服器;
c)url_hash:按訪問url的hash結果來分配請求,使每個url定向到同乙個後端伺服器;
1)預設輪訓
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
...upstream roundrobin
...location /
[root@proxy ~]# killall -9 nginx
[root@proxy ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@proxy ~]# nginx
然後訪問驗證~
客戶端能正常輪流訪問兩個web伺服器; 檢視兩個web伺服器的日誌。2)基於hash
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
...upstream roundrobin
[root@proxy ~]# killall -9 nginx
[root@proxy ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@proxy ~]# nginx
然後訪問驗證~
只能訪問乙個web伺服器; 檢視兩個web伺服器的日誌。3)設定後端負載均衡伺服器的狀態:
down,表示當前的server暫時不參與負載均衡。 backup,預留的備份機器。當其他所有的非backup機器出現故障或者忙的時候,才會請求backup機器,因 此這台機器的壓力最輕。
注意:backup不能和ip_hash同時配置。因為ip_hash只能訪問同一臺伺服器,而backup是在只有所有參與負載均衡的伺服器出現故障時,才會請求備份機。當所有負載均衡的伺服器出現故障了,ip_hash的將無法 請求了。
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
upstream roundrobin
[root@proxy ~]# killall -9 nginx
[root@proxy ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@proxy ~]# nginx
關閉兩台web伺服器,能訪問到備機; 注意:只有所有參與負載均衡的伺服器出現故障時,才會請求備份機
程序排程的四種演算法
作業系統 程序排程的四種演算法 作業由作業流進入輸入井然後觸發作業排程選擇作業進入主存區,建立程序之後,系統會對程序控制塊進行分類鏈入佇列,在就緒佇列中的程序會觸發程序排程,選擇合適的程序占用cpu資源。程序排程會根據合適的演算法進行排程,下面簡單的說一下四種常見的演算法。1.先到先服務排程演算法 ...
作業系統四種排程演算法
一 實驗目的 1 掌握程序排程的任務 機制和方式。2 熟練掌握程序程序排程的演算法的原理。二 實驗內容 1 實現 短作業優先排程演算法 2 實現 先到先服務排程演算法 3 實現 非搶占式高響應比優先排程演算法 4 實現 搶占式高響應比優先排程演算法 三 實驗 實驗全部 見附件code.txt 實驗的...
硬碟排程演算法的四種實現
include include include include include using namespace std vector int vt int n,now void init int n cout 隨機生成的磁碟序列為 endl for int i 0 i vt.size i cout ...