Nginx負載均衡原理配置初探

      網友投稿 869 2022-05-30

      當單機無法支撐一個網站應用時,就要考慮到使用多臺機器時橫向擴展的方式來處理更多請求了。把請求分發到多臺服務器上的技術就是負載均衡。???????????????? 專? ? ?業的負載均衡服務有? ? ? ? ? ? ?LVS,HAProxy 等,在網站服務器還沒達到一定規模的情況下,使用 Nginx 的負載均衡也許是個更簡單好用的選擇。

      為了演示使用 Nginx 的負載均衡功能有多容易,下面將先展示一個極簡的 Nginx 負載均衡配置:

      upstream?app?{ ????server?192.168.1.10; ????server?192.168.1.11; ????server?192.168.1.12; } server?{ ????listen?80; ????location?/?{ ????????proxy_pass?http://app; ????} }

      Nginx 使用?upstream?來定義一組參與負載均衡的服務器。上面的配置中,定義了三個服務器。然后在?server?配置段中使用?proxy_pass?來使用定義的服務器組。使用 Nginx 的負載均衡功能就是這么簡單。

      Nginx 的負載均衡功能還可以配置輪詢策略。上面的配置就是默認的按順序輪詢。如果服務器的硬件能力參差不齊。還可以使用加權輪詢的策略,來使配置高的服務器承受更多的請求。使用加權輪詢策略的配置如下:

      upstream?app?{ ????server?192.168.1.10?weight=1; ????server?192.168.1.11?weight=5; ????server?192.168.1.12?weight=3; }

      上面的服務器后面,使用了?weight?來設置權重。數字越大權重越高,分配的請求就越多。除了加權輪詢外,另一種輪詢策略是 IP Hash。這種輪詢策略是將請求 IP 和服務器建立起穩固的關系。與其他策略相比,IP Hash 策略可以輕松的解決使用負載均衡時單機 session 變化的問題。IP Hash 的配置示例如下:

      upstream?app?{ ????ip_hash; ????server?192.168.1.10; ????server?192.168.1.11; ????server?192.168.1.12; }

      IP Hash 同樣也會存在輪詢請求不均衡的問題,所以一般情況下并不推薦使用。如果是為了 Session,可以考慮把 Session 遷移到數據庫來解決。除了以上 Nginx 內置的負載均衡策略外,還有一些擴展的輪詢規則,如: fair,consistent hash 等。因為要先安裝擴展包以后才能使用,這里就不多介紹了。下面將再介紹幾個關于負載均衡服務器的配置參數。

      定義服務器的時候,有時候可能使用的并不是標準 80 端口,可以使用冒號(:)在 ip 后定義端口:

      server?192.168.1.11:8000;

      服務器如果因為臨時維護不能參與服務,可以使用?down?參數指定服務器不參與分發請求:

      server?192.168.1.11?down;

      還可以使用?backup?指定候補服務器,這樣的服務器正常情況下不會被分配請求,只有當正常服務器繁忙時才會使用。定義候補服務器的示例如下:

      Nginx負載均衡原理和配置初探

      server?192.168.1.11?backup;

      還可以使用?max_fails?來審核服務器的健康狀況,max_fails?可以設置一個請求失敗的最大限度,超過限度就會被認為服務器不可用,不再分發請求到該服務器。使用示例如下:

      server?192.168.1.11?max_fails=3;

      以上只是一部分 Nginx 常用的負載均衡配置參數,了解了以上知識,應付每天千萬請求應該不成問題了。除此之外,還可以到 Nginx 的官方文檔?Module ngx_http_upstream_module?中了解更多與負載均衡相關的配置和說明。

      CSharp

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:《云計算與虛擬化技術叢書 Service Mesh實戰》—3.2.2服務發現:Consul
      下一篇:DevOps進階(十五)Linux下查看和添加環境變量
      相關文章
      亚洲一区在线视频| 亚洲天堂视频在线观看| 亚洲人成网址在线观看| 久久精品亚洲福利| 亚洲成av人片不卡无码久久| 在线看亚洲十八禁网站| 亚洲AV无码专区亚洲AV桃| 亚洲精品国产高清在线观看| 亚洲一久久久久久久久| 亚洲美国产亚洲AV| 亚洲欧美国产国产综合一区| 亚洲色大18成人网站WWW在线播放 亚洲色大成WWW亚洲女子 | 中文字幕亚洲综合久久菠萝蜜 | 久久久国产精品亚洲一区| 日韩精品亚洲人成在线观看 | 久久久久亚洲精品影视| 亚洲成亚洲乱码一二三四区软件| 亚洲爆乳无码一区二区三区| 亚洲AV无码成人精品区蜜桃| 老汉色老汉首页a亚洲| 亚洲国产成人资源在线软件| 亚洲AV成人无码天堂| 久久久国产亚洲精品| 亚洲欧美日韩中文无线码| 亚洲欧美日韩中文无线码| 国产青草亚洲香蕉精品久久| 亚洲高清国产拍精品青青草原 | 91亚洲国产成人久久精品| 亚洲videosbestsex日本| 日韩亚洲产在线观看| 性色av极品无码专区亚洲| 亚洲男人天堂2020| 亚洲精品国产精品乱码不99| 亚洲AV无码成人网站久久精品大| 91亚洲一区二区在线观看不卡| 国产成人精品日本亚洲11| 亚洲国产精品无码中文lv| 亚洲狠狠爱综合影院婷婷| 亚洲精品亚洲人成在线观看| 久久亚洲精品无码AV红樱桃| 亚洲人成人77777在线播放|