摘要:負(fù)載均衡,簡稱是一種服務(wù)器或網(wǎng)絡(luò)設(shè)備的集群技術(shù)。負(fù)載均衡將特定的業(yè)務(wù)網(wǎng)絡(luò)服務(wù)網(wǎng)絡(luò)流量等分擔(dān)給多個服務(wù)器或網(wǎng)絡(luò)設(shè)備,從而提高了業(yè)務(wù)處理能力,保證了業(yè)務(wù)的高可用性。
Nginx負(fù)載均衡(Load Balance,簡稱LB)是一種服務(wù)器或網(wǎng)絡(luò)設(shè)備的集群技術(shù)。負(fù)載均衡將特定的業(yè)務(wù)(網(wǎng)絡(luò)服務(wù)、網(wǎng)絡(luò)流量等)分擔(dān)給多個服務(wù)器或網(wǎng)絡(luò)設(shè)備,從而提高了業(yè)務(wù)處理能力,保證了業(yè)務(wù)的高可用性。
Nginx負(fù)載均衡示意圖:
Nginx負(fù)載均衡原理就是將所有客戶端的請求通過proxy_pass代理轉(zhuǎn)發(fā)到對應(yīng)的一組后端服務(wù)器upstream server上。
Syntax:upstream name {...}Default:--
Context:http
后端服務(wù)器組upstream server
#server1 server { listen 8001; server_name localhost; access_log /var/logs/nginx/access.log main; location / { root /opt/app/code; index index.html index.htm index.php; } ... }
#server2 server { listen 8002; server_name localhost; access_log /var/logs/nginx/access.log main; location / { root /opt/app/code; index index.html index.htm index.php; } ... }
#server3 server { listen 8003; server_name localhost; access_log /var/logs/nginx/access.log main; location / { root /opt/app/code; index index.html index.htm index.php; } }
負(fù)載均衡服務(wù)器main server
#默認(rèn)使用輪詢機制 upstream test { server 114.249.225.223:8001 down; server 114.249.225.223:8002 backup; server 114.249.225.223:8003 max_fails=1 fail_timeout=30s; // 允許失敗一次,超過30s則直接訪問8002 } #加權(quán) upstream test { server 114.249.225.223:8001; server 114.249.225.223:8002; server 114.249.225.223:8003 weight=5; } #ip_hash upstream test { ip_hash; server 114.249.225.223:8001; server 114.249.225.223:8002; server 114.249.225.223:8003; } #url_hash upstream test { hash $request_uri; server 114.249.225.223:8001; server 114.249.225.223:8002; server 114.249.225.223:8003; } server { listen 80; server_name localhost www.mantis.me; access_log /var/logs/nginx/access.log main; location / { proxy_pass http://test; include proxy_params; } ... }
后端服務(wù)器在負(fù)載均衡調(diào)度中的狀態(tài):
參數(shù) | 說明 |
---|---|
down | 當(dāng)前的server暫時不參與負(fù)載均衡 |
backup | 預(yù)留的備份服務(wù)器 |
max_fails | 允許請求失敗的次數(shù) |
fail_timeout | 經(jīng)過max_fails失敗后,服務(wù)暫停的時間 |
max_conns | 限制最大連接數(shù) |
調(diào)度算法:
算法 | 說明 |
---|---|
輪詢(默認(rèn)) | 按時間順序逐一分配到不同的后端服務(wù)器 |
加權(quán)輪詢 | weight越大,分配到的訪問幾率越高 |
ip_hash | 每個請求按訪問ip的hash結(jié)果分配,這樣來自同一個ip的請求將固定訪問到同一個后端服務(wù)器 |
url_hash | 按照訪問的url的hash結(jié)果來分配請求,是每個url定向到同一個后端服務(wù)器 |
least_conn | 最少連接數(shù),哪個機器連接數(shù)少就分發(fā)到哪個機器 |
hash關(guān)鍵數(shù)值 | hash自定義的key |
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/40055.html
摘要:同樣可以用來作為緩存服務(wù)客戶端瀏覽器緩存我們稱之為客戶端緩存,后端使用等緩存服務(wù)我們稱之為后端緩存,同理作為緩存服務(wù)我們就稱之為代理緩存。缺點當(dāng)文件很大時或者很小時,可能會導(dǎo)致文件描述符耗盡等情況。 Nginx同樣可以用來作為緩存服務(wù);客戶端瀏覽器緩存我們稱之為客戶端緩存,后端使用Redis、Memcache等緩存服務(wù)我們稱之為后端緩存,同理Nginx作為緩存服務(wù)我們就稱之為代理緩存。...
摘要:客戶端服務(wù)配置實例只允許訪問服務(wù)器配置客戶端使用代理工具配置代理服務(wù)器,例如系統(tǒng)自帶擴展工具等,配置相應(yīng)的代理服務(wù)器地址。在瀏覽器輸入即可訪問。 Nginx作為代理服務(wù).正向代理:代理對象為客戶端.反向代理:代理對象為服務(wù)端. 反向代理 配置語法: Syntax:proxy_pass URLDefault:--Context:location、if in location、limit_...
摘要:用來作為靜態(tài)資源服務(wù)瀏覽器緩存跨域防盜鏈等。非服務(wù)器動態(tài)運行生成的文件。防盜鏈配置配置實例這里只允許頭為的地址和搜索過來的,可以便于優(yōu)化 Nginx用來作為靜態(tài)資源web服務(wù);CDN、瀏覽器緩存、跨域、防盜鏈等。 非服務(wù)器動態(tài)運行生成的文件。 類型 種類 瀏覽器端渲染 HTML、CSS、JS 圖片 JPG、GIF、JPEG、PNG 視頻 FLV、MPEG 文件 T...
摘要:前提好幾周沒更新博客了,對不斷支持我博客的童鞋們說聲抱歉了。熟悉我的人都知道我寫博客的時間比較早,而且堅持的時間也比較久,一直到現(xiàn)在也是一直保持著更新狀態(tài)。 showImg(https://segmentfault.com/img/remote/1460000014076586?w=1920&h=1080); 前提 好幾周沒更新博客了,對不斷支持我博客的童鞋們說聲:抱歉了!。自己這段時...
摘要:關(guān)注回復(fù),獲取原理鎖的解析以及使用場景關(guān)注回復(fù),獲取高級知識塊關(guān)注回復(fù),獲取的相關(guān)知識關(guān)注回復(fù),獲取相關(guān)的知識輕輕關(guān)注,將推心的不錯經(jīng)驗和知識 實踐篇 給定二維數(shù)組,根據(jù)某個字段排序 如何判斷上傳文件類型,如:僅允許 jpg 上傳 不使用臨時變量交換兩個變量的值 $a=1; $b=2; => $a=2; $b=1; strtoupper 在轉(zhuǎn)換中文時存在亂碼,你如何解決?php...
閱讀 2276·2021-11-16 11:44
閱讀 650·2019-08-30 15:55
閱讀 3282·2019-08-30 15:52
閱讀 3621·2019-08-30 15:43
閱讀 2205·2019-08-30 11:21
閱讀 445·2019-08-29 12:18
閱讀 1954·2019-08-26 18:15
閱讀 478·2019-08-26 10:32