1、反向**方式,是指以**伺服器來接受internet上的連線請求,然後將請求**給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時**伺服器對外就表現為乙個反向**伺服器;
2、正向**,是乙個位於客戶端和原始伺服器之間的伺服器,為了從原始伺服器取得內容,客戶端向**傳送乙個請求並指定目標(原始伺服器),然後**向原始伺服器轉交請求並將獲得的內容返回給客戶端。客戶端才能使用正向**。
關於反向和正向 proxy推薦link:
link:
將靜態資源(html,js,jquery,img等)資料和後端**分開放置在反向**伺服器上(或者cdn伺服器),後端應用提供api,根據前端的請求進行處理,並將處理結果通過json格式返回至前端。
資料流量分攤到多個伺服器上執行,減輕每台伺服器的壓力,多台伺服器共同完成工作任務,從而提高了資料的吞吐量。
例如:一台反向**伺服器和兩台應用伺服器
一台反向**伺服器通過ip_hash來限制每個請求的ip發放給指定的應用伺服器,這樣可以避免session共享問題;
1.輪詢
這種是預設的策略,把每個請求按順序逐一分配到不同的server
缺點是:可靠性低和負載分配不均衡。
upstream suyi
2.最少連線
把請求分配到連線數最少的server
upstream suyi
3.權重
使用weight來指定server訪問比率,weight預設是1。用於後端伺服器效能不均的情況。
upstream suyi
每個請求會按照訪問ip的hash值分配,這樣同一客戶端連續的web請求都會被分發到同一server進行處理,可以解決session的問題。
upstream suyi
ip_hash可以和weight結合使用。
5.fair(第三方)
按後端伺服器的響應時間來分配請求,響應時間短的優先分配。與weight分配策略類似。
upstream suyi
5、url_hash(第三方)
按訪問url的hash結果來分配請求,使每個url定向到同乙個後端伺服器,後端伺服器為快取時比較有效。
upstream backserver
進入nginx\conf目錄,編輯nginx.conf,在#gzip on;這一行下開始配置
關於nginx.conf的配置推薦link:
upstream suyi
server
}
配置兩個地方,第乙個是upstream,另乙個是proxy_pass http:// ***
注意upstream 後面的名字需要和server中的location下的proxy_paxx http:// 後的內容相同
由於請求先通過nginx**伺服器,再有nginx伺服器分配請求到具體的應用伺服器中間就會遇到session共享問題:
1.ip_hash 根據ip分配請求的應用伺服器
2.不使用session,換cookie就不會存在此問題,但是**安全度降低
3.使用cookie和redis快取(建議此方案,方便擴充套件,快取中速度高效)
例如:生成乙個uuid作為使用者資訊的key存放在redis快取中,再將uuid作為cookie的值寫會客戶端,cookie的key可以用固定值(常量)
4.放到mysql資料庫中,不推薦(增加資料庫的io)
nginx 負載均衡 Nginx負載均衡策略
nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...
nginx負載均衡
nginx 的 upstream目前支援 4 種方式的分配 1 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。2 weight 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。3 ip hash 每個請求按訪問ip的hash...
nginx負載均衡
nginx s stop quick exit nginx s quit graceful quit nginx s reload changing configuration,starting a new worker,quitting an old worker gracefully nginx...