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