首頁 > 硬體

如何實現伺服器的負載均衡

2020-10-14 18:05:54

所謂負載均衡就是對多臺伺服器進行流量分發一種服務,可以通過流量分發擴充套件應用系統對外的服務能力,通過消除單點故障提升應用系統的可用性。

工具/材料

KVM、xen虛擬平臺

兩臺或以上的虛擬機器器

操作方法

  • 01

    資料走向
    1、使用者端存取負載均衡範例IP地址時,相關請求由負載均衡範例對應的nginx叢集處理;
    2、叢集內的每一臺節點伺服器均分來自前端的請求。根據演演算法,請求分發。

  • 02

    演演算法簡介
    1、輪詢(預設)
    每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。 該演演算法較為常用。
    upstream backend {
    server 192.168.0.14;
    server 192.168.0.15;
    }
    2、weight 權重,指定輪詢機率,weight和存取比率成正比,用於後端伺服器效能不均的情況。
    upstream backend {
    server 192.168.0.14 weight=10;
    server 192.168.0.15 weight=10;
    }
    3、ip_hash 該演演算法會根據請求的使用者端IP地址來決定當前請求應該交給誰。Nginx會確保來自同一使用者端的請求都分發到同一伺服器。
    upstream backend {
    ip_hash;
    server 192.168.0.14:88;
    server 192.168.0.15:80;
    }
    4、fair(第三方)   按後端伺服器的響應時間來分配請求,響應時間短的優先分配。
    upstream backend {
    server server1.xxx.com;
    server server2.xxx.com;
    fair;    }   url
    5、url_hash(第三方)  按存取url的hash結果來分配請求,使每個url定向到同一個後端伺服器,後端伺服器為快取時比較有效。
    upstream backend {
    server squid1:3128;
    server squid2:3128;
    hash $request_uri;
    hash_method crc32;
    }

  • 03

    安裝nginx
    1、環境
    yum -y install gccpcre-devel zlib-devel openssl-deve
    2、編譯nginx
    tar zxvf nginx-*.tar.gz
    cd nginx-*
    ./configure --with-http_stub_status_module
    make&&makeinstal./configure
    make
    make install
    或者直接
    yum install nginx

  • 04

    設定nginx
    1. 在http節點下,新增upstream節點。
    upstream backend {
    server 192.168.0.14;
    server 192.168.0.15;
    }
    2.  將server節點下的location節點中的proxy_pass設定為:http:// + upstream名稱,即「http://backend」.
    location / {
    root  html;
    index  index.html index.htm;
    proxy_pass http://backend;
    }
    3.  現在負載均衡初步完成了。upstream按照輪詢方式進行負載,每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。雖然這種方式簡便、成本低廉。但缺點是:可靠性低和負載分配不均衡。適用於圖片伺服器叢集和純靜態頁面伺服器叢集。

  • End

特別提示

檢查防火牆

檢查埠佔用


IT145.com E-mail:sddin#qq.com