1、 靜態HTML
我們都知道,少消耗的是純靜態HTML頁面,所以我們盡量讓網站上的頁面采用靜態頁面。
2、 圖像服務器分離
眾所周知,對于web服務器,無論是Apache、IIS還是其他容器,映像都是消耗資源的。因此,有必要將圖像與頁面分開。這是大型網站將采用的策略。它們都有獨立的甚至多個圖像服務器。該體系結構可以減輕服務器系統提供頁面訪問請求的壓力,保證系統不會因圖像問題而崩潰。
在應用服務器和鏡像服務器上,可以進行不同的配置優化。例如,在配置內容類型時,Apache可以提供盡可能少的加載模塊,以確保更高的系統消耗和執行效率。
3、 數據庫群集,數據庫表哈希
大型網站有復雜的應用程序,這些應用程序必須使用數據庫,所以面對大量的訪問量,數據庫的瓶頸很快就會出現,這時一個數據庫很快就無法滿足應用程序,所以需要使用數據庫集群或數據庫表哈希。
在數據庫集群方面,許多數據庫都有自己的解決方案。Oracle和Sybase有很好的解決方案。MySQL提供的常用的master/slave也是一個類似的解決方案。您可以參考相應的解決方案來實現您使用的數據庫類型。&Emsp;&Emsp;上述數據庫集群在架構、成本和可擴展性方面受到數據庫類型的限制。因此,我們需要從應用的角度考慮對系統架構進行改進。數據庫表哈希是一種常見且有效的解決方案。
我們在應用程序中安裝業務和應用程序或功能模塊,將數據庫分開。不同的模塊對應于不同的數據庫或表。然后,根據一定的策略,對一個頁面或函數(如用戶表)進行較小的數據庫哈希,并根據用戶ID對該表進行哈希,這樣可以在低成本和良好擴展性的前提下提高系統的性能。
搜狐論壇采用這種架構,將論壇的用戶、設置、帖子等信息從數據庫中分離出來,然后根據車牌號和ID對帖子和用戶的數據庫和表格進行哈希,在配置文件中進行簡單的配置,這樣系統就可以增加一個低成本的數據庫來補充系統的性能。
4、 緩存
緩存技術在很多地方都有應用.net站架構和緩存在網站開發中也非常重要。讓我們來討論兩種基本的緩存類型。
在架構方面,熟悉Apache的人可以知道Apache提供了自己的緩存模塊,還可以使用額外的squid模塊進行緩存。這兩種方法可以有效地提高Apache的訪問響應能力。
對于網站程序開發,Linux上提供的memorycache是一個通用的緩存接口,可用于web開發。例如,使用Java開發時,可以調用memorycache來緩存和共享一些數據。一些大型社區使用這種架構。另外,在使用web語言開發時,各種語言基本上都有自己的緩存模塊和方法。PHP有pear的緩存模塊,而Java則更多。Net對它不是很熟悉。我想一定是的。
5、 鏡像
圖像是提高大型網站性能和數據安全性的一種方法。圖像技術可以解決不同網絡接入商和地區帶來的用戶訪問速度差異。例如,Chinanet和EduNet的差異促使許多網站在教育網中建立鏡像站點,并定期或實時更新數據。在圖像技術的細節方面,這里不是太深,有很多專業現成的解決方案架構和產品可供選擇。還有一些廉價的想法可以通過軟件實現,比如Linux上的Rsync。
6、 負載平衡
負載均衡將是大型網站解決高負載訪問和大量并發請求的高等解決方案。
隨著負載均衡技術多年的發展,有許多專業的服務提供商和產品可供選擇。我親自接觸過一些解決方案,有兩種架構可以參考。
(1) 硬件層4交換
第四層利用第三層和第四層分組的報頭信息,根據應用間隔識別業務流,并將整個間隔的業務流分配給適當的應用服務器進行處理。
第四層是物理交換功能,就像虛擬交換功能一樣。它傳輸的服務受各種協議的約束,包括HTTP、FTP、NFS、telnet或其他協議。這些服務需要基于物理服務器的復雜負載平衡算法。在IP**中,業務類型由終端TCP或UDP端口地址決定,而第四層交換中的應用范圍則由源和終端IP地址、TCP和UDP端口決定。&在硬件四層交換產品領域,有一些有名產品可供選擇,如Alteon、F5等。這些產品很貴,但它們值這個價。它們可以提供靈活的管理能力?!毖呕⒅袊坝薪?000臺服務器,只有三四臺Alteon服務器被使用。
(2) 軟件層4交換
在了解了硬件四層交換機的原理之后,基于OSI模型的軟件四層交換機應運而生。這個解決方案的原理是一致的,但性能稍差。但要滿足一定的壓力還是容易的,有人說軟件的實現方法其實比較靈活,而且處理能力取決于你熟悉的配置能力。
我們可以使用Linux上常用的LVS來解決軟件的四層交換問題。LVS是Linux虛擬服務器。它提供了基于heartbeat的實時災難響應解決方案,提高了系統的健壯性,并提供了靈活的虛擬VIP配置和管理功能,能夠同時滿足多種應用需求,這對于分布式系統至關重要。
一種典型的負載均衡策略是在軟硬件四層交換的基礎上構建squid集群。這個想法被許多大型網站采用,包括搜索引擎。這種體系結構具有成本低、性能高、可擴展性強等特點。在體系結構中隨時添加或刪除節點非常容易。