這本書從搭建一個(gè)小型網(wǎng)站" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁(yè) > 營(yíng)銷資訊 > 網(wǎng)站運(yùn)營(yíng) > 大型網(wǎng)站架構(gòu)設(shè)計(jì)模式

大型網(wǎng)站架構(gòu)設(shè)計(jì)模式

時(shí)間:2023-10-02 18:54:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2023-10-02 18:54:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)

大型網(wǎng)站架構(gòu)設(shè)計(jì)模式:最近閱讀了《大型網(wǎng)站技術(shù)架構(gòu)》一書,受益匪淺,強(qiáng)烈推薦剛開始步入職場(chǎng)的同學(xué)學(xué)習(xí),當(dāng)然對(duì)于我這個(gè)有兩年半Web前端工作經(jīng)驗(yàn)的同學(xué)來(lái)說(shuō),也收獲良多,有一種想見恨晚的感覺。

這本書從搭建一個(gè)小型網(wǎng)站架構(gòu)開始介紹,逐漸豐富羽翼,慢慢演變成一個(gè)大型網(wǎng)站架構(gòu)設(shè)計(jì)。書中提到的關(guān)于Web端的架構(gòu),80%我在公司的項(xiàng)目里都有所接觸,但是之前這些知識(shí)點(diǎn)只是比較零碎的存在于我的思維中,沒有認(rèn)真思考過(guò)為什么需要這個(gè)東西的存在,或者這些技術(shù)之間有什么聯(lián)系。通過(guò)閱讀《大型網(wǎng)站技術(shù)架構(gòu)》,再結(jié)合項(xiàng)目中的實(shí)踐,逐漸清晰了這些知識(shí)點(diǎn)之間的串聯(lián)關(guān)系,有一種醍醐灌頂?shù)母杏X。

以下是本書的閱讀筆記及摘錄。


大型網(wǎng)站架構(gòu)模式

為了解決大型網(wǎng)站面臨的高并發(fā)訪問(wèn)、海量數(shù)據(jù)處理、高可靠運(yùn)行等一系列問(wèn)題與挑戰(zhàn),大型互聯(lián)網(wǎng)實(shí)踐出了許多解決方案,從而逐漸形成大型網(wǎng)站架構(gòu)設(shè)計(jì)模式。

分層
分層是指將系統(tǒng)在橫向維度上切分成幾個(gè)部分,每一部分負(fù)責(zé)相對(duì)比較單一的職責(zé),然后通過(guò)上層對(duì)下層的調(diào)用組成一個(gè)完整的系統(tǒng)(禁止跨層或逆向調(diào)用)。一般大型網(wǎng)站軟件系統(tǒng)分為應(yīng)用層、服務(wù)層、數(shù)據(jù)層。

由于各層之間具有一定的獨(dú)立性,只要調(diào)用約定保持不變,各層可以根據(jù)自身發(fā)展需要獨(dú)立演化,不需要其他層做出相應(yīng)調(diào)整。

分層架構(gòu)是邏輯上的,在物理上,三層結(jié)構(gòu)可以部署在同一臺(tái)物理機(jī)器上,但隨著業(yè)務(wù)的發(fā)展,網(wǎng)站擁有越來(lái)越多的用戶訪問(wèn),三層結(jié)構(gòu)最好分別部署在不同的服務(wù)器上,使網(wǎng)站擁有更多的計(jì)算資源以應(yīng)對(duì)越來(lái)越大的訪問(wèn)量。

分割

分割可以理解成是將軟件進(jìn)行縱向的切分,每一個(gè)模塊負(fù)責(zé)獨(dú)立的功能,將模塊包裝成高內(nèi)聚低耦合的單元,一方面有助于軟件的開發(fā)和維護(hù),另一方面,不同模塊可以實(shí)現(xiàn)分布式部署,提高網(wǎng)站的并發(fā)處理能力和功能拓展能力。

比如在應(yīng)用層,可以對(duì)不同的業(yè)務(wù)進(jìn)行分割,例如以某團(tuán)app為例,將外賣、電影、打車分割成不同的應(yīng)用,有獨(dú)立團(tuán)隊(duì)負(fù)責(zé),部署在不同服務(wù)器上。如果一個(gè)業(yè)務(wù)比較復(fù)雜,會(huì)繼續(xù)分割,比如外賣又可以分割為廣告、購(gòu)物車、會(huì)員等。這些模塊無(wú)論是在邏輯上還是物理部署上,都可以是獨(dú)立的。

分布式

分布式是指多臺(tái)計(jì)算機(jī)完成相同的功能,或者多臺(tái)計(jì)算機(jī)處理不同的功能,計(jì)算機(jī)越多,能夠處理的并發(fā)訪問(wèn)和數(shù)據(jù)量就越大,進(jìn)而提供更好的服務(wù)。常用的分布式包括:分布式應(yīng)用和服務(wù)、分布式靜態(tài)資源、分布式數(shù)據(jù)和存儲(chǔ)、分布式計(jì)算等。

集群

集群是指多臺(tái)服務(wù)器部署相同的應(yīng)用,從而構(gòu)成一個(gè)集群,然后通過(guò)負(fù)載均衡技術(shù)共同對(duì)外提供服務(wù)。當(dāng)一臺(tái)服務(wù)器發(fā)生故障的時(shí)候,負(fù)載均衡設(shè)備或者系統(tǒng)的失效機(jī)制會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到集群的其他服務(wù)器上,使服務(wù)故障不影響用戶使用。即使是訪問(wèn)量很小的應(yīng)用,最少也應(yīng)該部署至少兩臺(tái)服務(wù)器構(gòu)成一個(gè)集群,目的就是為了提高系統(tǒng)的可用性。集群是分布式的思維的一種體現(xiàn)形式。

緩存

緩存是指將數(shù)據(jù)存放在距離計(jì)算機(jī)最近的位置以加快處理速度,大型網(wǎng)站構(gòu)架設(shè)計(jì)在很多地方都使用了緩存技術(shù)。

使用緩存有兩個(gè)前提條件:一是數(shù)據(jù)訪問(wèn)熱點(diǎn)不均衡,某些數(shù)據(jù)會(huì)被更頻繁的訪問(wèn);二是數(shù)據(jù)在某個(gè)時(shí)間段內(nèi)有效,不會(huì)很快過(guò)期。

在網(wǎng)站應(yīng)用中,緩存數(shù)據(jù)不僅可以加快用戶的訪問(wèn)速度,還可以減輕后端應(yīng)用和數(shù)據(jù)存儲(chǔ)的壓力。

異步

異步方式處理業(yè)務(wù)可提高系統(tǒng)可用性、加快網(wǎng)絡(luò)相應(yīng)速度、消除并發(fā)訪問(wèn)高峰,因?yàn)樯a(chǎn)者服務(wù)器請(qǐng)求后,將數(shù)據(jù)寫入消息隊(duì)列,不需要等待消費(fèi)者服務(wù)器處理就可以返回。但是異步的方式可能會(huì)對(duì)用戶體驗(yàn)、業(yè)務(wù)流程造成影響,需要網(wǎng)站產(chǎn)品設(shè)計(jì)方面的支持。

冗余

網(wǎng)站需要7*24小時(shí)運(yùn)行,為了避免宕機(jī)時(shí)造成網(wǎng)站不可用或數(shù)據(jù)丟失,就需要一定程度的冗余服務(wù)器運(yùn)行,數(shù)據(jù)冗余備份,這樣當(dāng)某臺(tái)服務(wù)器宕機(jī)時(shí),可以將其上的服務(wù)和數(shù)據(jù)訪問(wèn)轉(zhuǎn)移到其他機(jī)器上。

自動(dòng)化

安全

做好互聯(lián)網(wǎng)安全防范措施,包括XSS攻擊、CSFR攻擊等等。

大型網(wǎng)站核心架構(gòu)要素

性能

性能是網(wǎng)站架構(gòu)設(shè)計(jì)的一個(gè)重要方面,任何軟件架構(gòu)設(shè)計(jì)方案都必須考慮可能帶來(lái)的性能問(wèn)題。

在瀏覽器端,可以通過(guò)緩存、頁(yè)面壓縮、合理布局、建設(shè)cookie傳輸?shù)仁侄胃纳菩阅?。還可以使用CDN,將內(nèi)容分發(fā)至離用戶最近的網(wǎng)絡(luò)服務(wù)商機(jī)房,減少數(shù)據(jù)傳輸路加快數(shù)據(jù)獲取?;蛘卟渴鸱聪虼矸?wù)器,緩存熱點(diǎn)文件,加快請(qǐng)求響應(yīng)速度。

在服務(wù)器端,可以使用服務(wù)器本地緩存和分布式部署,鑒權(quán)請(qǐng)求處理速度,減小數(shù)據(jù)庫(kù)負(fù)載壓力。或者通過(guò)異步操作加快用戶端響應(yīng)速度。

在代碼層面,可以通過(guò)使用多線程、改善內(nèi)存管理手段優(yōu)化性能。

可用性

服務(wù)器宕機(jī)是不可避免的事情,但是必須盡最大可能保證網(wǎng)站的可用性。

提高網(wǎng)站可用性的主要手段是冗余,應(yīng)用部署在多臺(tái)服務(wù)器上同時(shí)提供服務(wù),數(shù)據(jù)存儲(chǔ)在多臺(tái)服務(wù)器上互相備份,這樣任何一太服務(wù)器宕機(jī)都不會(huì)影響應(yīng)用的整體可用性,也不會(huì)導(dǎo)致數(shù)據(jù)的丟失。

伸縮性

伸縮性是指通過(guò)不斷向集群中加入服務(wù)器的手段來(lái)緩解不斷上升的用戶并發(fā)訪問(wèn)壓力和不斷增長(zhǎng)的數(shù)據(jù)存儲(chǔ)需求。衡量架構(gòu)伸縮性的主要標(biāo)準(zhǔn)是,是否可以用多臺(tái)服務(wù)器構(gòu)建集群,是否容易向集群中添加新的服務(wù)器,且加入新的服務(wù)器后,是否可以提供和原來(lái)的服務(wù)無(wú)差別的服務(wù)。集群中容納的總的服務(wù)器是否有限制。

擴(kuò)展性

網(wǎng)站的擴(kuò)展性架構(gòu)關(guān)注網(wǎng)站的功能需求,衡量網(wǎng)站架構(gòu)擴(kuò)展性好壞的主要標(biāo)準(zhǔn)就是網(wǎng)站增加新的業(yè)務(wù)產(chǎn)品時(shí),是否可以實(shí)現(xiàn)對(duì)現(xiàn)有產(chǎn)品透明無(wú)影響,不需要任何改動(dòng),或者很少改動(dòng)既有業(yè)務(wù)功能就可以上線新產(chǎn)品。

安全性

網(wǎng)站的安全架構(gòu)就是保護(hù)網(wǎng)站不受惡意訪問(wèn)和攻擊,保護(hù)網(wǎng)站的數(shù)據(jù)不被竊取。衡量網(wǎng)站的安全架構(gòu)的標(biāo)準(zhǔn)就是針對(duì)現(xiàn)存和潛在的各種攻擊與竊密手段,是否有可靠的應(yīng)對(duì)策略。




以上是《大型網(wǎng)站技術(shù)架構(gòu)》一書主要闡述的概念,在第2篇“架構(gòu)”中,分別對(duì)“網(wǎng)站核心架構(gòu)要素”進(jìn)行了詳細(xì)的介紹,并在第3篇“案例”中舉例分析。書本將分層、分割、集群、緩存等大型網(wǎng)站設(shè)計(jì)模式的思想融合貫通在所講述的知識(shí)點(diǎn)中,并且講述的內(nèi)容和實(shí)際開發(fā)體驗(yàn)貼切,方便結(jié)合當(dāng)前自己從事的項(xiàng)目進(jìn)行分析,理解更深刻。

不過(guò)紙上得來(lái)終覺淺,最終還是需要自己不斷在實(shí)際業(yè)務(wù)中進(jìn)行探索、學(xué)習(xí)與應(yīng)用,真正將書本讀薄消化融于己。

關(guān)鍵詞:設(shè)計(jì),模式,大型

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉