大型網站服務器是什么架構?

發布時間:2022-01-04作者:小編閱讀:0

任何🧔大型網站都是經歷用戶積累,然后成長。從一臺服務器到多臺服務器才能支持網站的現有數據、用戶和頁面請求。大型網站(如淘寶、JD.COM等)的系統架構。)就具備高性能、高可用性、安全性等特征。它總是隨著用戶的增加和業務功能的拓展而不斷演進和完善。在這個過程中,開發模式、技術架構、設計思路也發生了很大的變化,甚至技術人員也從幾個人發展到一個部門甚至一條產品線。所以成熟的系統架構是隨著業務的拓展而完善的,不是一蹴而就的;不同業務特性的系統會有各自的側重點。比如淘寶就要解決海量商品信息的搜索、下單、支付等問題。比如騰訊要解決幾億用戶的實時消息傳遞問題,百度要處理海量的搜索請求。他們都有自己的業務特點和不同的系統架構。然而,我們可以從這些不同的網站中找到可以廣泛應用于大型網站系統架構中的常見技術。以下億聯云介紹大型網站系統的演進過程,了解這些技術和手段。

大型網站服務器是什么架構?

1、最開始的網站架構

初始架構、應用程序、數據庫和文件都部署在一臺服務器上。

2、應用程序、數據和文件的分離

隨著業務的擴展,一臺服務器已不能滿足性能要求。因此,應用﷽程序、數據庫和文件部署在獨立的服務器上,并根據服務器的目的配置不同的硬件,以實現最佳性能。

3、利用緩存提高網站性能

硬件優化性能的同時,也通過軟件優化性能。在大多數網站系統中,緩存技術用于提高系統性能。緩存主要是因為熱點數據的存在。大多數網站訪問遵循28原則(即80%的訪問請求落在20%的數據上),所以我們可以緩存熱點數據,減少💫這些數據的訪問路徑,提高用戶體驗。

實現緩存的常見方式有本地緩存和分布式緩存。當然還有CDN,反向代理等等。本地緩存,顧名思義,在應用服務器上本地緩存數據,數據可以存在于內存或文件中。OSCache是一個常見的本地緩存組件。本地緩存的特點是速度快,但由于本地空間有限,緩存的數據量有限。分布式緩存的特點是可以緩存海量數據,易于擴展。常用于門戶網站,速度不如本地緩存快。常用的分布𒅌式緩存有Memcached和Redis。

4、利用集群來提高應用服務器的性能

作為網站的入口,應用服務器會承載大量的請求,我們經常通過應用服務器集群來分擔請求的數量。部署在應用服務器前面的負載均衡服務器調度用戶請求,并根據分發策略將請求分發到多個ꦏ應用服務器節點。

常用的負載均衡技術硬件是F5,比較貴,軟件是LVS,Nginx,HAProxy。LVS是四層負𒊎載均衡系統,根據目標地址和端口選擇✤內部服務器,Nginx是七層負載均衡系統。

HAProxy支持四層和七層負載♔均衡,可以根據消息內容選擇內部服務器,所以LVS分發路徑優于Nginx和HAProxy,性能更高,而Nginx和HAProxy更可配置,比如用于動態和靜態分離(根據請求消息的特點選擇靜態資源服務器或應用服務器)。

5、數據庫讀寫分離和分庫分表

隨著用戶的增加,數據庫成為最大的瓶頸。提高數據ꦿ庫性能的常用方法是讀寫分離和分表。讀寫分離顧名思義就是將數據庫分為讀寫兩部分,通過主備功能實現數據同💎步。分庫分表則分為水平切分和垂直切分,水平切換則是對一個數據庫特大的表進行拆分,例如用戶表。垂直切分則是根據業務不同來切換,如用戶業務、商品業務相關的表放在不同的數據庫中。

6、利用CDN和反向代理提高網站性能?

如果我們的服務器部署在億聯云的佛山高防機房,廣東用戶訪問更快,北京用戶訪問更慢。這是因為廣東和北京分別屬于中國電信和中國聯通不同的發達地區,北京用戶需要經過很長的路徑才能通過互聯路由器訪問廣東的服務器,返回路徑是一樣的,所以數據傳輸時間🌟更長。在這種情況下,通常使用CDN來解決問題。CDN在運營商機房ꦐ緩存數據內容,用戶訪問時先從最近的運營商獲取數據,大大減少了網絡訪問路徑。專業的CDN運營商有藍訊、網托管等。

反向代理部署在網站的機房。當用戶的請求到達時,反向代理服務器將首先訪💧問反向代理服務器,反向代理服務器將向用戶返回緩存的數據。如果沒有緩存的數據,會繼續去應用服務器獲取,也降低了獲取數據的成本。反向代理有Squid和Nginx。

7、使用分布式文件系統

用戶日益增多,業務量不斷增加,產生的文件越來越多,單一的文件服務器已經不能滿足需求。它需要分布🐬式文件系統支持。最常用的分布式文件系統是NFS。

8、使用NoSql和搜索引擎

對于海量數據查詢,我們可以通過使用nosql數據庫和搜索引擎來獲得更好的性能。不是所有的數據都應該放在關系型數據中。常用的NOSQL是mongodb和redis,搜索引擎ꦐ是lucene。

9、拆分應用服務器的業務

隨著業務的進一步擴展,應用變得非常臃腫。此時,我們需要將應用程序分成新聞、網頁、圖片和其他服務。每個業務應用程序負責相對獨立的業🌠務操作。服務之間的通信是通過消息或共享數據庫來實現的。

10、構建分布式服務

這時我們發現每個業務應用都會用到一些基本的業務服務,比如用戶服務、訂🌊單服務、支付服務、安全服務,這些都是支撐每個業務應用的基本要素。我們提取這些服務,并通過使用部分服務框架來構建分布式服務。淘寶的Dubbo是個不錯的選擇。

大型網站的架構會根據業務需求不斷完善,會根據不同的業務特點進行具體的設計和考慮。🐻本文ܫ僅描述常規大型網站所涉及的一些常規技術和手段。


免責聲明:本站發布的內容(圖片、視頻和文字)以原創🌠、轉載和分享為主,文章觀點不代表本網站立場,請聯系站長郵箱:[email protected]進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內🥃容。

標題:大型網站服務器是什么架構?

TAG標簽:企業服務器

地址://beijingyml.cn/article/20210104202332.html

上一篇:什么是專線網絡?
下一篇:服務器IP地址的A段B段C段代表什么意思
返回頂部