日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

高并发大型网站架构设计

發布時間:2023/11/27 生活经验 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高并发大型网站架构设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一個大型的網站網站應該由如下6個子系統組成

?

負載均衡系統

反向代理系統

Web服務器系統

分布式存儲系統

底層服務系統

數據庫集群系統

?

為什么要做高并發系統設計?

事實上,針對于任何單一的網絡服務器程序,其可承受的同時連接數目是有理論峰值的,通過C++中對TSocket的定義類型:word,我們可以判定這個連接理論峰值是65535,也就是說,你的單個服務器程序,最多可以承受6萬多的用戶同時連接。但是,在實際應用中,能達到一萬人的同時連接并能保證正常的數據交換已經是很不容易了,通常這個值都在2000到5000之間,能達到上萬已經很不錯了。目前的門戶網站動輒幾千萬的訪問量,所以,高并發的系統架構在所難免。

?

整體架構

真實中的網站架構也許并不如此也可以實現高性能。但是高性能的網站莫不過如此。如下圖所示。

?

第一 負載均衡系統

負載均衡系統分為硬件和軟件兩種。

硬件負載均衡效率高,但是價格貴,比如F5等。

軟件負載均衡系統價格較低或者免費,效率較硬件負載均衡系統低,不過對于流量一般或稍大些網站來講也足夠使用,比如lvs

?

?

第二 反向代理系統

目前普遍使用Squid或者nginx,或者Lighttpd,Varish。

這四者又各自有很大的差異。

Squid:主要用來做反向代理,使用內存+硬盤

Nginx:可以反向代理+負載均衡+WWW解析

Lighttpd:反向代理能力一般,處理FastCGI比較好,消耗內存很小

Varish:主要做內存的反向代理,性能最優

?

第三 Web服務器系統

由Apache負責解析PHP內容,也可以用Nginx,或者Lighttpd,相對來說Apache比較穩定。

?

第四 分布式存儲系統

存儲量很大,經常會達到單臺服務器無法提供的規模,比如相冊、視頻等應用。因此需要專業的大規模存儲系統。

?

第五 底層服務系統

根據各自需要由C/C++開發設計供上層CGI調用。

?

第六 數據庫系統

1)使用MySQL數據庫,考慮到Web應用的數據庫讀多寫少的特點,我們主要對讀數據庫做了優化,提供專用的讀數據庫和寫數據庫,在應用程序中實現讀操作和寫操作分別訪問不同的數據庫。

2)使用同步機制實現快速將主庫(寫庫)的數據庫復制到從庫(讀庫)。一個主庫對應多個從庫,主庫數據實時同步到從庫。

3)寫數據庫有多臺,每臺都可以提供多個應用共同使用,這樣可以解決寫庫的性能瓶頸問題和單點故障問題。

?

?

?

?

?

總結

以上是生活随笔為你收集整理的高并发大型网站架构设计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。