1. 程式人生 > 其它 >程式碼編寫過程中的問題解決思路之程式碼溯源法

程式碼編寫過程中的問題解決思路之程式碼溯源法

負載均衡的實現有以下4種模式:

1)、輪詢(預設)
每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。
2)、weight
指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。
2)、ip_hash
每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器,可以解決session的問題。
3)、fair(第三方)
按後端伺服器的響應時間來分配請求,響應時間短的優先分配。
4)、url_hash(第三方)

配置如下:

1:開啟nginx.cnf檔案

在http節點下新增upstream節點:

# 負載均衡的配置
    # Nginx基於連線探測,如果發現後端異常,在單位週期為fail_timeout設定的時間,中達到max_fails次數,
    # 這個週期次數內,如果後端同一個節點不可用,那麼接將把節點標記為不可用,並等待下一個週期(同樣時常為fail_timeout)再一次去請求,判斷是否連線是否成功。
    upstream metaspace.test.com {
        #ip_hash; //ip_hash的配置,直接加一行就可以了,這樣只要是同一個ip過來的都會到同一臺server上
        #server 10.10.12.245:9000 weight=100000;
        server 127.0.0.1:8090 weight=1 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:8091 weight=1 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:8080 weight=1 max_fails=3 fail_timeout=10s;        
#server 127.0.0.1:8091 weight=1 backup | down; }

  

其中 metaspace.test.com  是自己取的名字,最後會通過這個名字在url裡訪問的

2: 配置站點server

server {
        listen       80;
        server_name  dev.nginx.test.com;
        # 跳轉配置
        location / {
            proxy_pass http://dev.nginx.test.com;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_redirect off;
            
        }
     
        error_page  500 502 503 504  /50x.html;
        location = /50x.html {
            root html;
        }
    }

  

 主備配置:

upstream dev.nginx.test.com {
   server 127.0.0.1:8091 weight=1;
   server 127.0.0.1:8090 weight=1 backup;
 }

 設定某一個節點為backup,那麼一般情況下所有請求都訪問server1,當server1掛掉或者忙的的時候才會訪問server2

upstream dev.nginx.test.com {
   server 127.0.0.1:8091 weight=1;
   server 127.0.0.1:8090 weight=1 down;
 }

 設定某個節點為down,那麼這個server不參與負載