溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

掌握之分布式-5.Nginx

發(fā)布時(shí)間:2020-07-04 16:56:05 來源:網(wǎng)絡(luò) 閱讀:173 作者:學(xué)習(xí)Lr 欄目:編程語言

掌握高并發(fā)、高可用架構(gòu)

第三章 分布式

本章介紹分布式架構(gòu)的底層技術(shù)。主要說明面試過程中可能被問到的技術(shù)點(diǎn)。

第五節(jié) NGINX

nginx 反向代理

1. 正向代理和反向代理的區(qū)別

正向代理,指在客戶端,代替客戶端收發(fā)請求,使得真實(shí)客戶端對服務(wù)器不可見。

反向代理,指在服務(wù)器端,代替服務(wù)器收發(fā)請求,使得真實(shí)服務(wù)器對客戶端不可見

2. nginx是什么

nginx是一個(gè)高性能的HTT服務(wù)器、電子郵件(IMAP/POP3)代理服務(wù)器、非常高效的反向代理服務(wù)器

3. nginx的特性
  • 異步、事件驅(qū)動(dòng)、非阻塞
  • 并發(fā)請求處理,通過epoll/select
  • 文件IO
  • 高度模塊化
4. 支持的并發(fā)數(shù)

每秒十萬級別

5. nginx的使用場景
  • 靜態(tài)資源服務(wù)器,例如圖片、網(wǎng)站靜態(tài)資源(css、js等)
  • 反向代理服務(wù)器,實(shí)現(xiàn)負(fù)載均衡
6. 支持的負(fù)載均衡策略(upstream)
  • 輪詢(默認(rèn)),每個(gè)請求按時(shí)間順序逐一分配到不同的后端服務(wù)器

  • 權(quán)重(weight),指定服務(wù)器的權(quán)重,數(shù)值越大的訪問機(jī)率越多,用于服務(wù)器性能不均衡的情況

    upstream domain {
      server 127.0.0.1:8080 weight=5;
      server 127.0.0.1:8040 weight=1;
    }
  • ip_hash,每個(gè)請求按照訪問IP的hash值進(jìn)行分配,這樣每個(gè)客戶端IP就會(huì)固定訪問一臺服務(wù)器

    upstream domain {
      ip_hash;
      server 127.0.0.1:8080;
      server 127.0.0.1:8040;
    }
  • fair(第三方提供),按照服務(wù)器的響應(yīng)時(shí)間來分配請求,響應(yīng)時(shí)間短的優(yōu)先分配

  • url_hash(第三方提供),按照每個(gè)請求的URL的hash值進(jìn)行分配,每個(gè)URL固定訪問一臺服務(wù)器

upstream還支持以下的狀態(tài)值:

  • down,表示當(dāng)前的server不參與負(fù)載

  • max_fails,允許請求失敗的次數(shù)

  • fail_timeout,max_fails后,暫停負(fù)載的時(shí)間

  • backup,備用,當(dāng)其他非backup的server處于down或忙的時(shí)候,啟用該server

    upstream domain {
      server 127.0.0.1:8080 down;
      server 127.0.0.1:8080 max_fails=3;
      server 127.0.0.1:8080 fail_timeout=10;
      server 127.0.0.1:8080 backup;
    }
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI