日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Nginx使用ngx_http_upstream_module實(shí)現(xiàn)負(fù)載均衡功能示例

瀏覽:244日期:2023-03-13 15:37:07
目錄
  • 負(fù)載均衡介紹
    • 什么是負(fù)載均衡
    • 為什么需要負(fù)載均衡
  • 負(fù)載均衡調(diào)度算法
    • 負(fù)載均衡后端節(jié)點(diǎn)狀態(tài)

      負(fù)載均衡介紹

      什么是負(fù)載均衡

      負(fù)載均衡(Load Balance),意思是將負(fù)載(工作任務(wù),訪問(wèn)請(qǐng)求)進(jìn)行平衡、分?jǐn)偟蕉鄠€(gè)操作單元(服務(wù)器,組件)上進(jìn)行執(zhí)行。

      為什么需要負(fù)載均衡

      當(dāng)單臺(tái)web服務(wù)器直接面向用戶,可能要承載著大量的并發(fā)請(qǐng)求,單臺(tái)服務(wù)器可能難以負(fù)荷,我們需要使用多臺(tái)web服務(wù)器組成一個(gè)集群,利用Nginx負(fù)載均衡功能,將請(qǐng)求分發(fā)給不同的后端服務(wù)器,實(shí)現(xiàn)負(fù)載的流量分發(fā),提升整體性能、以及系統(tǒng)的容災(zāi)能力。

      • 負(fù)載均衡與代理有什么區(qū)別

      代理是代理一臺(tái)服務(wù)器基于URI調(diào)度,調(diào)度到不同功能的應(yīng)用節(jié)點(diǎn)

      負(fù)載均衡是將客戶端請(qǐng)求通過(guò)proxy_pass代理至一組upstream資源池

      • 實(shí)現(xiàn)負(fù)載均衡場(chǎng)景

      實(shí)現(xiàn)負(fù)載均衡功能需要使用兩個(gè)模塊:

      • proxy_pass:代理模塊
      • upstream:虛擬資源池

      示例:一個(gè)官方的的負(fù)載均衡展示

      upstream backend {
      ? ? server backend1.example.com ? ? ? weight=5;
      ? ? server backend2.example.com:8080;
      ? ? server unix:/tmp/backend3;
      
      ? ? server backup1.example.com:8080 ? backup;
      ? ? server backup2.example.com:8080 ? backup;
      }
      
      server {
      ? ? location / {
      ? ? ? ? proxy_pass http://backend;
      ? ? }
      }

      示例:自己完成一個(gè)小例子

      upstream node {
          server 192.168.10.3:80;
          server 192.168.10.4:80;
      }
      server {
          listen 80;
          server_name www.yyang.com;
          location / {
      proxy_pass http://node;
      include prxoy_params;
          }
      }

      負(fù)載均衡調(diào)度算法

      輪詢調(diào)度

      按順序逐一分配到不同的后端節(jié)點(diǎn),也是默認(rèn)算法。(簡(jiǎn)單來(lái)說(shuō)就是1:1:1)

      加權(quán)輪詢
      考慮到不同服務(wù)器的性能不同,給予節(jié)點(diǎn)不同的權(quán)值,使其接收到相應(yīng)的權(quán)值請(qǐng)求數(shù)

      server 192.168.10.3:80 weight=3;
      server 192.168.10.4:80 weight=1;

      以上這個(gè)例子是說(shuō)每4個(gè)請(qǐng)求會(huì)分配給10.3三個(gè),10.4一個(gè),以此循環(huán)。

      ip_hash

      根據(jù)用戶請(qǐng)求的IP,對(duì)該IP進(jìn)行hash運(yùn)算,根據(jù)運(yùn)算的值將請(qǐng)求分配給后端特定的一臺(tái)節(jié)點(diǎn)進(jìn)行處理。

      取值范圍為ipv4地址的前三個(gè)8位或ipv6的整個(gè)地址作為哈希鍵,確保來(lái)自從一個(gè)客戶端的IP始終傳遞給同一臺(tái)服務(wù)器,除非次服務(wù)器不可用。(簡(jiǎn)單來(lái)說(shuō)就是172.16.20.1與172.16.20.2取前三個(gè)8位都是172.16.20)

      ip_hash運(yùn)算公式:hash(ip)%node_counts=index

      ip_hash帶來(lái)的問(wèn)題:
      大量同一IP的請(qǐng)求會(huì)造成某個(gè)節(jié)點(diǎn)流量過(guò)大
      如果臨時(shí)下線一臺(tái)節(jié)點(diǎn),會(huì)重新計(jì)算hash值,建議使用down狀態(tài)

      示例:注意ip_hash與權(quán)重不可同時(shí)使用

      ip_hash;
      server 192.168.10.3:80;
      server 192.168.10.4:80;

      一致性hash

      為了避免上述問(wèn)題,所以誕生了一致性hash,使用取模的方式,但不對(duì)服務(wù)器節(jié)點(diǎn)數(shù)量取模,而是對(duì)2的32次方取模,hash函數(shù)值為0~2^32-1。(形成一個(gè)虛擬圓環(huán),用戶請(qǐng)求會(huì)發(fā)給順時(shí)針相鄰的節(jié)點(diǎn))
      有一個(gè)問(wèn)題:如果后端節(jié)點(diǎn)較少可能會(huì)造成數(shù)據(jù)傾斜,所以一致性hash引入了虛擬節(jié)點(diǎn)機(jī)制,即對(duì)每個(gè)服務(wù)器計(jì)算多個(gè)哈希,每個(gè)計(jì)算結(jié)果位置都放置一個(gè)虛擬節(jié)點(diǎn)。
      如果我們想使用ip_hash,但是計(jì)算公式使用一致性hash,該怎么做?

      hash $remote_addr consistent;
      server 192.168.10.3:80;
      server 192.168.10.4:80;

      url_hash

      根據(jù)用戶的url進(jìn)行hash取模,根據(jù)運(yùn)算值,將請(qǐng)求分配給一臺(tái)特定的后端服務(wù)器。clent——nginx——url_hash——cache1——app

      1.用戶請(qǐng)求nginx負(fù)載均衡,通過(guò)url算法,請(qǐng)求調(diào)度至cache1
      2.cache1沒(méi)有數(shù)據(jù),會(huì)向后端獲取,返回?cái)?shù)據(jù),并將數(shù)據(jù)緩存
      3.當(dāng)其他用戶訪問(wèn)相同url時(shí),調(diào)度器依然會(huì)調(diào)度到cache1節(jié)點(diǎn)
      4.cache1會(huì)直接將數(shù)據(jù)返回

      hash $request_uri consistent;
      server 192.168.10.3:80;
      server 192.168.10.4:80;

      least_conn

      哪臺(tái)服務(wù)器的連接數(shù)最少,就將請(qǐng)求調(diào)度到這臺(tái)服務(wù)器

      least_conn;
      server 192.168.10.3:80;
      server 192.168.10.4:80;

      負(fù)載均衡后端節(jié)點(diǎn)狀態(tài)

      down

      將服務(wù)器節(jié)點(diǎn)標(biāo)記為不可用狀態(tài),一般用于停機(jī)維護(hù)。

      server 192.168.10.3:80 down;
      server 192.168.10.4:80;

      backup

      備用節(jié)點(diǎn),正常情況不會(huì)調(diào)度到此節(jié)點(diǎn);當(dāng)正常工作節(jié)點(diǎn)全部不可用時(shí),會(huì)啟用此節(jié)點(diǎn);當(dāng)節(jié)點(diǎn)恢復(fù)時(shí)此節(jié)點(diǎn)會(huì)繼續(xù)恢復(fù)備用狀態(tài)。

      server 192.168.10.3:80;
      server 192.168.10.4:80;
      server 192.168.10.5:80 backup;

      max_conns

      用來(lái)限制每個(gè)后端節(jié)點(diǎn)接收到的最大的TCP連接數(shù),如果超出限制就會(huì)拋出錯(cuò)誤。

      server 192.168.10.3:80 max_conns=10;
      server 192.168.10.4:80 max_conns=10;

      一臺(tái)可以連接10.兩臺(tái)是20,超過(guò)20就會(huì)出錯(cuò)。

      keepalived

      與后端服務(wù)器激活緩存,也就是長(zhǎng)鏈接,提升網(wǎng)站吞吐量。
      默認(rèn)不啟用此功能,當(dāng)有請(qǐng)求時(shí),會(huì)建立連接,維護(hù)連接,關(guān)閉連接,所以會(huì)存在網(wǎng)絡(luò)消耗;但是如果所有連接都緩存了,當(dāng)連接空閑了又會(huì)占用其他系統(tǒng)資源,所以可以使用keepalived參數(shù)。

      server 192.168.10.3:80;
      server 192.168.10.4:80;
      
      keepalived 32; ? # 最大空閑連接數(shù)的個(gè)數(shù)
      keepalived_timeout 100s; # 空閑連接的超時(shí)時(shí)間
      
      # 需要配合以下兩個(gè)參數(shù)使用
      
      proxy_http_version 1.1;
      proxy_set_header connection "";

      max_fails與fail_timeout

      max_fails=2:服務(wù)器通信失敗兩次,認(rèn)為服務(wù)器不可用
      fail_timeout=5s:服務(wù)器通信失敗后,每5秒探測(cè)一次服務(wù)器是否恢復(fù)正常。
      在fail_timeout設(shè)定時(shí)間內(nèi),與服務(wù)器連接失敗次數(shù)達(dá)到max_fails數(shù)量,則認(rèn)為服務(wù)器不可用。
      如果不設(shè)置的話默認(rèn)是探測(cè)一次,間隔10s。

      server 192.168.10.3:80 max_fails=2 fail_timeout=5s;
      server 192.168.10.4:80 max_fails=2 fail_timeout=5s;
      

      這部分就到這,其他內(nèi)容放在之后。

      到此這篇關(guān)于Nginx使用ngx_http_upstream_module實(shí)現(xiàn)負(fù)載均衡功能示例的文章就介紹到這了,更多相關(guān)Nginx 負(fù)載均衡內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

      標(biāo)簽: Nginx
      日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
      蜜桃视频一区二区三区| 国产一区国产二区国产三区| 私拍精品福利视频在线一区| 欧美激情视频一区二区三区免费| 日本成人一区二区| 日本不卡视频在线| 日韩欧美三区| 国产欧美一区二区三区精品观看| 欧美日韩一区二区三区不卡视频| 日韩av中文在线观看| 欧美精品国产白浆久久久久| 国产精品一区二区中文字幕| 美女视频免费精品| 日韩在线综合| 欧美特黄a级高清免费大片a级| 亚洲永久字幕| 日韩激情一二三区| 久久影院一区二区三区| 国产一区精品福利| 欧美日韩尤物久久| 国产成人在线中文字幕| 天堂网在线观看国产精品| 欧美福利专区| 一区二区三区网站| 97精品国产一区二区三区 | 亚洲综合不卡| 日韩免费久久| 日韩精品一区第一页| 亚洲在线一区| 日韩美女国产精品| 久久av免费| 久久国产免费| 婷婷激情综合| 日本精品国产| 高清不卡一区| 狠狠干成人综合网| 中文字幕日韩欧美精品高清在线| 国产精品视频一区二区三区四蜜臂| 色偷偷偷在线视频播放| 9久re热视频在线精品| 欧美日韩a区| av资源亚洲| 视频一区日韩精品| 中文字幕高清在线播放| 日韩精品一级中文字幕精品视频免费观看| 欧美日韩调教| 天堂日韩电影| 视频一区中文字幕精品| 涩涩av在线| 日韩一区二区三免费高清在线观看 | 欧美成人国产| 91精品国产自产在线丝袜啪| 日韩理论视频| 日韩动漫一区| 激情丁香综合| 麻豆一区在线| 水野朝阳av一区二区三区| 欧美国产不卡| 欧美一区二区三区久久精品| 亚洲欧美日本日韩| 日本一区二区免费高清| 亚洲自啪免费| 秋霞国产精品| 国产精品99一区二区三| 伊人久久国产| 丝袜美腿亚洲一区| 日韩黄色免费网站| 岛国av在线网站| 日韩欧美美女在线观看| 久久久久久一区二区| 鲁大师成人一区二区三区| 欧美影院精品| 蜜芽一区二区三区| 9国产精品视频| 午夜一区在线| 免费在线亚洲欧美| 日韩亚洲精品在线| 韩国女主播一区二区三区| 女人天堂亚洲aⅴ在线观看| 国产女人18毛片水真多18精品| 亚洲精品在线观看91| 欧美成人精品一级| 亚洲aa在线| 亚洲一区激情| 99久久激情| 激情久久99| 日韩不卡免费视频| 久久性天堂网| 日韩精品一卡| **爰片久久毛片| 日韩中文字幕一区二区三区| 九九在线精品| 成人在线网站| 成人综合一区| 欧美激情福利| 日本久久二区| 国产精品nxnn| 日韩av有码| 国产日韩欧美三级| 国产色99精品9i| 国产欧美精品久久| 丝瓜av网站精品一区二区| 国产精品专区免费| 久久亚洲风情| 亚洲啊v在线| 亚洲丝袜美腿一区| 亚洲欧美网站在线观看| 99精品电影| 日韩在线高清| 日韩成人精品一区| 在线人成日本视频| 日韩av电影一区| 911精品国产| 黄色日韩在线| 日韩一区欧美二区| 国产精品对白久久久久粗| 99热精品久久| 91久久国产| 91精品一区| 美女性感视频久久| 精品久久精品| 一区二区亚洲视频| 欧美亚洲网站| 日本精品黄色| 丝袜脚交一区二区| 国产精品久久久久久久久久齐齐 | 久久精品午夜| 国产精品1区| 国产精品99一区二区三| 成人va天堂| 精品99在线| 国产一区91| 欧美日韩国产综合网| 欧美成人午夜| 亚洲国产不卡| 99精品美女| 欧美日韩一二三四| 国产一区日韩一区| 国产精品乱战久久久| 岛国av在线播放| 日韩精品久久理论片| 久久男人av资源站| 亚洲精品自拍| 久久国产中文字幕| 91精品精品| 综合激情网站| 国产精品99一区二区三| 国产精品一区二区中文字幕| 免费在线亚洲欧美| 色乱码一区二区三区网站| 少妇久久久久| 视频一区中文字幕国产| 日韩三级视频| 国产精品综合色区在线观看| 成人污污视频| 激情综合自拍| 日韩国产欧美在线视频| 国产精品nxnn| 久久天堂成人| 亚洲精品美女91| 精品99在线| 美女少妇全过程你懂的久久| 国产精品97| 欧美日韩一区二区高清| 日本激情一区| 美女国产精品| 国产福利亚洲| 欧美亚洲国产一区| 蜜桃久久av| 国产一区二区三区网| 亚洲网站视频| 亚洲高清不卡| 国产黄色精品| 亚洲欧洲一区二区天堂久久| 亚洲精选久久| 美女av在线免费看| 国产欧美精品| 国产一区不卡| 亚洲aⅴ网站| 免费日本视频一区| www.com.cn成人| 亚洲国产不卡| 在线观看亚洲精品福利片| 久久先锋影音| 综合激情网...| 欧美黄页在线免费观看| 天堂√中文最新版在线| 美女视频黄 久久| 日韩av中文在线观看| 中文字幕在线高清| 蜜桃视频一区二区| 国产成人1区| 欧美理论视频| 国产精品一区高清| 欧美色图国产精品| 国产精品日本一区二区不卡视频| 日韩精品不卡一区二区| 免费在线观看精品| 婷婷激情一区| 麻豆一区二区在线|