亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解讀nginx負(fù)載均衡的5種策略

 更新時(shí)間:2023年07月13日 10:01:14   作者:阿杰同學(xué)  
這篇文章主要介紹了解讀nginx負(fù)載均衡的5種策略,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

nginx負(fù)載均衡的5種策略

要理解負(fù)載均衡,必須先搞清楚正向代理和反向代理。

負(fù)載均衡的幾種常用方式

1、輪詢(默認(rèn))

每個請求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉,能自動剔除。

upstream backserver {
    server 192.168.0.14;
    server 192.168.0.15;
}

2、weight

指定輪詢幾率,weight和訪問比率成正比,用于后端服務(wù)器性能不均的情況。

upstream backserver {
    server 192.168.0.14 weight=3;
    server 192.168.0.15 weight=7;
}

權(quán)重越高,在被訪問的概率越大,如上例,分別是30%,70%。

3、ip_hash

上述方式存在一個問題就是說,在負(fù)載均衡系統(tǒng)中,假如用戶在某臺服務(wù)器上登錄了,那么該用戶第二次請求的時(shí)候,因?yàn)槲覀兪秦?fù)載均衡系統(tǒng),每次請求都會重新定位到服務(wù)器集群中的某一個,那么已經(jīng)登錄某一個服務(wù)器的用戶再重新定位到另一個服務(wù)器,其登錄信息將會丟失,這樣顯然是不妥的。

我們可以采用ip_hash指令解決這個問題,如果客戶已經(jīng)訪問了某個服務(wù)器,當(dāng)用戶再次訪問時(shí),會將該請求通過哈希算法,自動定位到該服務(wù)器。

每個請求按訪問ip的hash結(jié)果分配,這樣每個訪客固定訪問一個后端服務(wù)器,可以解決session的問題。

upstream backserver {
    ip_hash;
    server 192.168.0.14:88;
    server 192.168.0.15:80;
}

4、fair(第三方)

按后端服務(wù)器的響應(yīng)時(shí)間來分配請求,響應(yīng)時(shí)間短的優(yōu)先分配。

upstream backserver {
    server server1;
    server server2;
    fair;
}

5、url_hash(第三方)

按訪問url的hash結(jié)果來分配請求,使每個url定向到同一個(對應(yīng)的)后端服務(wù)器,后端服務(wù)器為緩存時(shí)比較有效。

upstream backserver {
    server squid1:3128;
    server squid2:3128;
    hash $request_uri;
    hash_method crc32;
}

在需要使用負(fù)載均衡的server中增加

proxy_pass http://backserver/; 
upstream backserver{ 
    ip_hash; 
    server 127.0.0.1:9090 down; (down 表示單前的server暫時(shí)不參與負(fù)載) 
    server 127.0.0.1:8080 weight=2; (weight 默認(rèn)為1.weight越大,負(fù)載的權(quán)重就越大) 
    server 127.0.0.1:6060; 
    server 127.0.0.1:7070 backup; (其它所有的非backup機(jī)器down或者忙的時(shí)候,請求backup機(jī)器) 
} 

max_fails :允許請求失敗的次數(shù)默認(rèn)為

1.當(dāng)超過最大次數(shù)時(shí),返回proxy_next_upstream 模塊定義的錯誤

fail_timeout:max_fails次失敗后,暫停的時(shí)間

配置實(shí)例:

#user  nobody;
worker_processes  4;
events {
# 最大并發(fā)數(shù)
worker_connections  1024;
}
http{
    # 待選服務(wù)器列表
    upstream myproject{
        # ip_hash指令,將同一用戶引入同一服務(wù)器。
        ip_hash;
        server 125.219.42.4 fail_timeout=60s;
        server 172.31.2.183;
    }
    server{
        # 監(jiān)聽端口
        listen 80;
        # 根目錄下
        location / {
        # 選擇哪個服務(wù)器列表
            proxy_pass http://myproject;
        }
    }
}

負(fù)載均衡的五種策略是什么?

實(shí)行負(fù)載均衡的目的就是讓請求到達(dá)不同的服務(wù)器上。一次請求到服務(wù)器之間,有那么多環(huán)節(jié),因此可以實(shí)現(xiàn)的方法也有很多種。

負(fù)載均衡的五種策略

1、輪詢(默認(rèn))每個請求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉,能自動剔除。

2、指定權(quán)重,指定輪詢幾率,weight和訪問比率成正比,用于后端服務(wù)器性能不均的情況。

3、IP綁定 ip_hash,每個請求按訪問ip的hash結(jié)果分配,這樣每個訪客固定訪問一個后端服務(wù)器,可以解決session的問題。

4、fair(第三方)按后端服務(wù)器的響應(yīng)時(shí)間來分配請求,響應(yīng)時(shí)間短的優(yōu)先分配。

5、url_hash(第三方)按訪問url的hash結(jié)果來分配請求,使每個url定向到同一個后端服務(wù)器,后端服務(wù)器為緩存時(shí)比較有效。

負(fù)載均衡實(shí)現(xiàn)的方法

HTTP重定向負(fù)載均衡

HTTP重定向負(fù)載均衡有一臺重定向服務(wù)器,它也是一臺普通的服務(wù)器,其唯一的功能就是根據(jù)用戶的HTTP請求計(jì)算一臺應(yīng)用集群中服務(wù)器的地址,并將此地址寫入HTTP重定向響應(yīng)中返回給用戶。

這種方案實(shí)現(xiàn)起來簡單,但是需要瀏覽器請求兩次服務(wù)器才能完成。并且重定向服務(wù)器很容易編程瓶頸,因?yàn)橐淮沃囟ㄏ蚍祷氐倪^程,也是一次標(biāo)準(zhǔn)HTTP請求,如果集群內(nèi)有10臺機(jī)器,那HTTP重定向服務(wù)器的流量將是應(yīng)用服務(wù)器的10倍,如果有100臺估計(jì)就宕機(jī)了,所以伸縮性能受到了很大限制。使用302響應(yīng)碼重定向不利于網(wǎng)站SEO。

DNS域名解析負(fù)載均衡

這是利用DNS處理域名解析請求的同時(shí)進(jìn)行負(fù)載均衡處理的一種方案。在DNS中配置多個A記錄,每次域名解析請求都會根據(jù)負(fù)載均衡算法計(jì)算一個不同的IP地址返回。

DNS域名解析負(fù)載均衡的優(yōu)點(diǎn)是將負(fù)載均衡的工作轉(zhuǎn)交給DNS,省掉了網(wǎng)站管理維護(hù)負(fù)載均衡服務(wù)器的麻煩,同時(shí)還可以使用智能DNS可以基于地理位置或者ISP來做域名解析,用戶將會得到距離最近或者速度最快的一個服務(wù)器地址,這樣可以加快用戶的訪問速度,改善性能。

但是這種方法也有很大的缺點(diǎn),DNS是多級解析,每一級都會緩存DNS記錄,如果某個服務(wù)器變動了,DNS記錄更新的時(shí)間將會很長,這個速度取決于域名服務(wù)商。一般大型網(wǎng)站都會使用DNS域名解析,利用域名解析作為一級負(fù)載均衡手段。你可以使用 dig <域名> 的方法查看某個域名的A記錄,你會發(fā)現(xiàn)很多網(wǎng)站會有多條A記錄。

反向代理負(fù)載均衡

這種方法就是使用反向代理服務(wù)器,它一般在web服務(wù)器前面,這個位置也正好是負(fù)載均衡服務(wù)器的位置,所以大多數(shù)反向代理服務(wù)器同時(shí)也提供負(fù)載均衡的功能。由于web服務(wù)器不直接對外提供訪問,因此web服務(wù)器不需要使用外部IP,而反向代理服務(wù)器則需要配置雙網(wǎng)卡和內(nèi)部外部兩套IP地址。

反向代理服務(wù)器轉(zhuǎn)發(fā)請求是在HTTP協(xié)議層面,因此也叫應(yīng)用層負(fù)載均衡,由于應(yīng)用層在七層網(wǎng)絡(luò)模型中的第七層,所以一般也稱為七層負(fù)載均衡。優(yōu)點(diǎn)就是和反向代理功服務(wù)器功能集成在一起,部署簡單。缺點(diǎn)是反向代理服務(wù)器是所有請求和響應(yīng)的中轉(zhuǎn)站,其性能可能會成為瓶頸。

網(wǎng)絡(luò)層負(fù)載均衡

這種方法是在網(wǎng)絡(luò)層通過修改請求目標(biāo)地址進(jìn)行負(fù)載均衡,網(wǎng)絡(luò)層在七層網(wǎng)絡(luò)層模型的第四層,所以也叫做四層負(fù)載均衡,也叫做IP層負(fù)載均衡。

請求達(dá)到負(fù)載均衡服務(wù)器后,由負(fù)載均衡服務(wù)器在操作系統(tǒng)內(nèi)核進(jìn)程獲取網(wǎng)絡(luò)數(shù)據(jù)包,根據(jù)負(fù)載均衡算法得到一臺真實(shí)web服務(wù)器的地址,然后修改請求的目的地址到這臺真實(shí)的web服務(wù)器地址,等到web服務(wù)器處理完成后,響應(yīng)數(shù)據(jù)包回到負(fù)載均衡服務(wù)器,再將數(shù)據(jù)包源地址修改為自身的IP(負(fù)載均衡服務(wù)器的IP)地址發(fā)送給用戶瀏覽器

這里關(guān)鍵在于真實(shí)無力web服務(wù)器響應(yīng)數(shù)據(jù)包如何返回給負(fù)載均衡服務(wù)器。一種是源地址轉(zhuǎn)換(SNAT),第二種是負(fù)載均衡服務(wù)器作為網(wǎng)關(guān)服務(wù)器。網(wǎng)絡(luò)層的負(fù)載均衡在內(nèi)核進(jìn)程完成數(shù)據(jù)轉(zhuǎn)發(fā),有更好的性能。但是由于響應(yīng)請求的流量要經(jīng)過負(fù)載均衡服務(wù)器,容易成為瓶頸。

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • nginx常用操作命令詳解

    nginx常用操作命令詳解

    這篇文章主要介紹了nginx常用操作命令,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Nginx之帶寬限制的實(shí)現(xiàn)示例

    Nginx之帶寬限制的實(shí)現(xiàn)示例

    本文主要介紹了Nginx之帶寬限制的實(shí)現(xiàn)示例,一般使用limit_rate指令來限制響應(yīng)傳輸?shù)娇蛻舳说乃俾?具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • 圖文詳解nginx日志切割的實(shí)現(xiàn)

    圖文詳解nginx日志切割的實(shí)現(xiàn)

    這篇文章主要給大家介紹了關(guān)于nginx日志切割實(shí)現(xiàn)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • 將樹莓派轉(zhuǎn)身為強(qiáng)大的Web服務(wù)器如何使用Nginx和cpolar實(shí)現(xiàn)遠(yuǎn)程訪問

    將樹莓派轉(zhuǎn)身為強(qiáng)大的Web服務(wù)器如何使用Nginx和cpolar實(shí)現(xiàn)遠(yuǎn)程訪問

    這篇文章主要介紹了Nginx可視化管理工具結(jié)合cpolar實(shí)現(xiàn)遠(yuǎn)程訪問內(nèi)網(wǎng)服務(wù),相比其他 Web 服務(wù)器,Nginx 的內(nèi)存占用率非常低,可以在樹莓派等資源受限的設(shè)備上運(yùn)行,同時(shí)結(jié)合cpolar 內(nèi)網(wǎng)穿透工具即可實(shí)現(xiàn)遠(yuǎn)程訪問,需要的朋友可以參考下
    2023-09-09
  • Nginx監(jiān)控模塊(vts模塊)詳解

    Nginx監(jiān)控模塊(vts模塊)詳解

    國內(nèi)用Nginx的比較多,下面這篇文章主要給大家介紹了關(guān)于Nginx監(jiān)控模塊(vts模塊)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 解決Nginx location中配置proxy_pass轉(zhuǎn)發(fā)時(shí)斜線‘/‘導(dǎo)致404問題

    解決Nginx location中配置proxy_pass轉(zhuǎn)發(fā)時(shí)斜線‘/‘導(dǎo)致404問題

    這篇文章主要介紹了解決Nginx location中配置proxy_pass轉(zhuǎn)發(fā)時(shí)斜線‘/‘導(dǎo)致404問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • nginx配置請求轉(zhuǎn)發(fā)不生效的實(shí)現(xiàn)

    nginx配置請求轉(zhuǎn)發(fā)不生效的實(shí)現(xiàn)

    本文主要介紹了nginx配置請求轉(zhuǎn)發(fā)不生效的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • Filebeat 采集 Nginx 日志的方法

    Filebeat 采集 Nginx 日志的方法

    這篇文章主要介紹了Filebeat 采集 Nginx 日志的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 排查服務(wù)器異常流量教程詳解

    排查服務(wù)器異常流量教程詳解

    這篇文章主要為大家介紹了排查服務(wù)器異常流量教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Nginx的使用經(jīng)驗(yàn)小結(jié)

    Nginx的使用經(jīng)驗(yàn)小結(jié)

    相信很多人都聽過nginx,這個小巧的東西慢慢地在吞食apache和IIS的份額。今天我們就簡單介紹下本人在使用nginx的過程中的一些小小的經(jīng)驗(yàn)
    2017-10-10

最新評論