web服務器-------負載均衡

爲什麼要實現服務器集羣?

實現服務器集羣主要就是爲了負載均衡(Load Balance——有兩臺或者以上的服務器或者站點提供服務,服務將來自客戶端的請求,靠某種算法,去儘量平分請求到集羣的機器中,從而避免一臺服務器因爲負載太高而出現故障,而即使其中某個機器出現故障,負載均衡會自動規避選擇,使得用戶也能正常訪問服務。


一、幾個基本概念

1、pv 值

pv 值(page views):頁面的瀏覽量

概念:一個網站的所有頁面,在一天內,被瀏覽的總次數。(大型網站通常是上千萬的級別)

2、uv值

uv值(unique visitor)獨立訪客

概念:一個網站,在一天內的用戶訪問數。(大型網站通常達10萬以上)

3、獨立IP

概念:一個網站,在一天內,有多少個獨立的ip地址來訪問。

鑑於一個局域網對外訪問時都是共用同一個公網IP的,因此UV值一般要略大於獨立ip值

十分鐘讓你學會LNMP架構負載均衡

可以通過愛站網 來查詢這些參數值

十分鐘讓你學會LNMP架構負載均衡

二、解決高併發思路

如果一個網站的uv,pv,獨立ip變大,則會導致高的併發,這時要對網站分層佈局架構,採用負載均衡。

負載均衡

硬件:立竿見影,效果非常好,價格非常昂貴,比如F5-BIGIP

軟件:lvs(linux virtual server) ,nginx(web服務器,負載均衡)

負載均衡實現策略

(1)輪詢,

負載均衡器把請求輪流轉發給後面的web服務器。

(2)ip哈希,

同一個地址的客戶端,始終請求同一臺主機。

優點:能較好地把同一個客戶端的多次請求分配到同一臺服務器處理,避免了加權輪詢無法適用會話保持的需求。
缺點:當某個時刻來自某個IP地址的請求特別多,那麼將導致某臺後端服務器的壓力可能非常大,而其他後端服務器卻空閒的不均衡情況。

(3)最少連接

負載均衡器把請求給負載最小的哪臺服務器。

架構圖如下:

十分鐘讓你學會LNMP架構負載均衡

如果併發數繼續增大,還可以藉助CDN來架構



十分鐘讓你學會LNMP架構負載均衡

(4)fair(第三方)
按後端服務器的響應時間來分配請求,響應時間短的優先分配。


upstream resinserver{
server server1;
server server2;
fair;
}


三、nginx的介紹

1、常用web服務器

apache:功能完善,歷史悠久,模塊支持非常豐富,屬於重量級產品,比較耗費內存。

缺點:處理每一個php比較費資源,導致如果高併發時會耗費服務器資源無法處理更多請求。

lighttpd:內存開銷低,cpu佔用率低,效能好,模塊豐富等特點,輕量級web服務器。

nginx:省資源,省cpu,所以在高併發時能夠處理更多的請求,高端能達到3萬到5萬的併發量。

IIS windows自帶的web服務器軟件

Nginx的兩大應用:

(1) http的服務器

(2)代理服務器

正向代理

十分鐘讓你學會LNMP架構負載均衡

反向代理

十分鐘讓你學會LNMP架構負載均衡

2、選擇nginx理由

(1)它可以高併發連接,官方測試能夠支撐5萬併發連接,在實際生產環境中可以支撐2到4萬併發連接。

(2)內存消耗少

Nginx+php(FastCGI)服務器在3萬併發連接下,開啓的10個Nginx進程消耗150MB內存(15MB*10=150MB)開啓的64個php-cgi進程消耗1280MB內存(20MB*64=1280MB)

(3)成本低廉

購買F5 BIG-IP ,NetScaler等硬件負載均衡交換機需要10多萬甚至幾十萬人民幣。而Nginx爲開源軟件,可以免費試用,並且可用於商業用途。

十分鐘讓你學會LNMP架構負載均衡

(4)配置文件非常簡單:通俗易懂,即使非專業管理員也能看懂。

(5)支持 rewrite重寫規則:能根據域名、URL的不同,將HTTP請求分到不同的後端服務器羣組。

(6)內置的健康檢查功能:如果nginx proxy後端的某臺服務器宕機了,不會影響前端訪問。

(7)節省帶寬,支持gzip壓縮。

(8)穩定性高:用於反向代理,宕機的概率微乎其微。

(9)支持熱部署。在不間斷服務的情況下,對軟件版本升級。

十分鐘讓你學會LNMP架構負載均衡

nginx在反向代理,rewrite規則,穩定性,靜態化文件處理,內存消耗等方面,表現出了很強的優勢,選用nginx取代傳統的apache 服務器,將會獲得多方面的性能提升。

(8)支持的操作系統

FreeBSD 3.x,4.x,5.x,6.x i386; FreeBSD 5.x,6.x amd64;Linux 2.2,2.4,2.6 i386; Linux 2.6 amd64;Solaris 8 i386; Solaris 9 i386 and sun4u; Solaris 10 i386;MacOS X (10.4) PPC;

負載均衡 == 分身的能力   負載均衡還得保持通話   負載均衡還要懂得修理他






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章