nginx四種排程演算法 高階

2021-08-10 09:40:08 字數 1871 閱讀 4601

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 ...