1、反向**負載均衡服務概述
反向**:
外網主機---網際網路---中介---內網主機
正向**:
內網主機---網際網路---中介---外網主機(翻牆)
反向**:nginx, 類似中介,中介幫你處理。
負載均衡:lvs,資料**,幫你**請求。
2、反向**負載均衡配置過程
# 在負載均衡伺服器上進行測試
[root@lb01 ~]# curl -h host:www.oldboy.com 10.0.0.7/oldboy.html
web01 www.oldboy.com
[root@lb01 ~]# curl -h host:www.oldboy.com 10.0.0.8/oldboy.html
web02 www.oldboy.com
[root@lb01 ~]# curl -h host:www.oldboy.com 10.0.0.9/oldboy.html
web03 www.oldboy.com
# 負載均衡配置部署
upstream --- 負載均衡模組
proxy_pass --- 反向**模組
}}
3、負載均衡 upstream 模組詳細說明
1) weight: 權重引數
可以實現權重輪訓分配資源, 預設是輪訓分配資源
upstream oldboy
2) least_conn: 按照節點連線數分配資源
upstream oldboy
3) ip_hash: 確保乙個使用者多次訪問, 負載均衡都會分配給相同web節點 了解
使用者01(100人): 10.0.0.1 --- 001 (產生的雜湊值是001) web01
使用者02: 11.0.0.1 --- 011 web02
使用者03: 12.0.0.1 --- 112 web03
000 ~ 150 (總的雜湊值範圍)
000 ~ 050 --> web01 100
051 ~ 100 --> web02
101 ~ 150 --> web03
會造成負載不均情況
優選:使用者01 --> web01(快取客戶端 memcache-php) 使用者01登入資訊
使用者02 ---> lb01 --> web02(快取客戶端 memcache-php) 使用者02登入資訊 --> 快取伺服器 memcached (會話記錄)
使用者03 --> web03(快取客戶端 memcache-php) 使用者03登入資訊 session會話共享伺服器
upstream oldboy
4) 負載均衡節點健康檢查
max_fails=3 --- 最大的失敗次數 lb01 --- http請求 --- web02
fail_timeout=30s --- 失敗超時時間
請求 --- web01 1次失敗 2次失敗 3次失敗,連續失敗3次後,會在30秒之後再給一次機會,1次失敗後,又是馬上30s,並將請求給web02
請求 --- web02 1次成功
upstream oldboy
5) 節點備份功能
upstream oldboy
備胎式備份, 只要有好的, 就不會用;當10.0.0.7 和 10.0.0.8 都不行了,才會用10.0.0.9
4、負載均衡 proxy 反向**模組詳細說明
proxy_pass: 反向**指令
proxy_set_header: 設定請求頭資訊
01. 訪問負載均衡可以顯示不同**頁面
# 不設定的話,後端伺服器看到請求頭的 host 資訊是upstream模組定義的名字。
proxy_set_header host $host;
# $remote_addr 客戶端ip, 負載均衡為服務端,記錄下客戶端的ip,賦值給x-forwarded-for。
proxy_set_header x-forwarded-for $remote_addr;
03. 檢查**頁面是否正確
# 負載均衡拿到web讀**d的結果,如果遇到404的錯誤,不給使用者,找upstream 定義的主機裡的下一台,返回給使用者。
location /
5、**服務動靜分離
}}6、**服務根據客戶端顯示不同頁面
架構師之路
隨著經驗能力的增長,程式的程式設計習慣也在發生著改變,以下是我個人程式設計習慣的改變。1級 思考一段時間,寫一段 2級 用圖形幫助思考,然後寫 3級 將思考過程寫成注釋,然後再寫 4級 用圖形幫助思考,然後一邊寫注釋,一邊寫 5級 思考過程中增加對不確定技術點的測試。6級 將思考過程寫在記事本裡,將...
架構師之路
方 秒殺系統架構優化思路 分布式id生成器 網際網路架構,如何進行容量設計 執行緒數究竟設多少合理 單點系統架構的可用性與效能優化 關於負載均衡的一切 異構伺服器負載均衡及過載保護 lvs為何不能完全替代dns輪詢 究竟啥才是網際網路架構 高併發 究竟啥才是網際網路架構 高可用 100億資料1萬屬性...
架構師之路
架構的定義 我們來看看軟體架構的一般定義 程式和計算系統軟體體系結構是指系統的乙個或多個結構。該結構包括軟體的構建,構建的外部可見屬性以及它們之間的相互關係。該體系結構不是可操作的軟體。具體來說,這是乙個表示式,它使軟體工程師能夠 分析滿足監管要求的設計有效性。在設計更改相對容易的階段,請考慮架構的...