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

2021-02-13    分類: 網(wǎng)站建設(shè)

一、分層

最常見的架構(gòu)模式,將系統(tǒng)在橫向維度上切分成幾個(gè)部分,每個(gè)部分單一職責(zé)。網(wǎng)站一般分為三個(gè)層次:應(yīng)用層、服務(wù)層和數(shù)據(jù)層,其具體結(jié)構(gòu)如下圖所示:


通過分層,一個(gè)龐大系統(tǒng)切分成不同部分,便于分工合作和維護(hù)。

但是,分層架構(gòu)也有一些挑戰(zhàn):①必須合理規(guī)劃層次邊界和接口;②禁止跨層次的調(diào)用及逆向調(diào)用。

二、分割

分割是在縱向方面對(duì)軟件進(jìn)行切分->將不同的功能和服務(wù)分割開來,包裝成高內(nèi)聚低耦合的模塊單元,有助于軟件開發(fā)和維護(hù),還便于不同模塊的分布式部署,提高網(wǎng)站的并發(fā)處理能力和功能擴(kuò)展能力。

三、分布式

①分布式應(yīng)用和服務(wù):應(yīng)用和服務(wù)模塊分布式部署,便于業(yè)務(wù)功能擴(kuò)展;

②分布式靜態(tài)資源:JS、CSS、LOGO圖片等資源獨(dú)立部署,采用獨(dú)立域名->動(dòng)靜分離;

③分布式數(shù)據(jù)和存儲(chǔ):傳統(tǒng)RDBMS分布式部署和NoSQL產(chǎn)品;


④分布式計(jì)算:Hadoop及其MapReduce分布式計(jì)算框架,其特點(diǎn)是移動(dòng)計(jì)算而不是移動(dòng)數(shù)據(jù)。


四、集群

多臺(tái)服務(wù)器部署相同應(yīng)用構(gòu)成一個(gè)集群,通過負(fù)載均衡設(shè)備共同對(duì)外提供服務(wù)。當(dāng)某臺(tái)服務(wù)器發(fā)生故障,負(fù)載均衡設(shè)備或者系統(tǒng)的失效轉(zhuǎn)移機(jī)制將請(qǐng)求轉(zhuǎn)發(fā)到集群中的其他服務(wù)器上,提高系統(tǒng)的可用性,即所謂的HA(高可用性)。


所以,在網(wǎng)站應(yīng)用中,即使是訪問量很小的分布式應(yīng)用和服務(wù),也至少要部署兩臺(tái)服務(wù)器構(gòu)成一個(gè)小集群。

五、緩存

緩存是改善軟件性能的第一手段。在復(fù)雜的軟件設(shè)計(jì)中,緩存幾乎無處不在。

CDN:內(nèi)容分發(fā)網(wǎng)絡(luò),緩存網(wǎng)站的一些靜態(tài)資源;


②反向代理:部署在網(wǎng)站的前端,最先訪問到的就是反向代理服務(wù)器;


③本地緩存:在應(yīng)用服務(wù)器本地緩存熱點(diǎn)數(shù)據(jù),無需訪問數(shù)據(jù)庫(kù);

④分布式緩存:應(yīng)用程序通過網(wǎng)絡(luò)通信訪問緩存數(shù)據(jù);


網(wǎng)站應(yīng)用中,緩存除了可以加快數(shù)據(jù)訪問速度,還可以減輕后端應(yīng)用和數(shù)據(jù)存儲(chǔ)的負(fù)載壓力。

六、異步

業(yè)務(wù)之間的消息傳遞不是同步調(diào)用,而是將一個(gè)業(yè)務(wù)操作分成多個(gè)階段,每個(gè)階段之間通過共享數(shù)據(jù)的方式異步執(zhí)行進(jìn)行協(xié)作。

異步架構(gòu)是典型的生產(chǎn)者消費(fèi)者模式,兩者不存在直接調(diào)用,只要保持?jǐn)?shù)據(jù)結(jié)構(gòu)不變,彼此功能實(shí)現(xiàn)可以隨意變化而不互相影響,這對(duì)網(wǎng)站擴(kuò)展新功能非常便利。


異步消息隊(duì)列可以提高系統(tǒng)可用性、加快網(wǎng)站響應(yīng)速度,消除并發(fā)訪問高峰。

七、冗余

要想保證在服務(wù)器宕機(jī)的情況下網(wǎng)站依然可以繼續(xù)服務(wù),不丟失數(shù)據(jù),就需要一定程度的服務(wù)器冗余運(yùn)行,數(shù)據(jù)冗余備份,這樣當(dāng)某臺(tái)服務(wù)器宕機(jī)時(shí),可以將其上的服務(wù)和數(shù)據(jù)訪問轉(zhuǎn)移到其他機(jī)器上。

數(shù)據(jù)庫(kù)除了定期備份存檔保存實(shí)現(xiàn)冷備份之外,為了保證在線業(yè)務(wù)高可用,還需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行主從分離,實(shí)時(shí)同步實(shí)現(xiàn)熱備份。


八、自動(dòng)化

在無人值守的情況下,網(wǎng)站可以正常運(yùn)行,一切都可以自動(dòng)化是網(wǎng)站的理想狀態(tài)。目前大型網(wǎng)站的自動(dòng)化架構(gòu)設(shè)計(jì)主要集中在發(fā)布運(yùn)維方面。

①發(fā)布部署過程自動(dòng)化;

②自動(dòng)化代碼管理;

③自動(dòng)化測(cè)試;

④自動(dòng)化安全監(jiān)測(cè);

九、安全



①通過密碼和手機(jī)校驗(yàn)碼進(jìn)行身份驗(yàn)證;

②對(duì)登錄、交易等操作進(jìn)行加密;

③使用驗(yàn)證碼進(jìn)行識(shí)別;

④對(duì)于常見的XSS攻擊、SQL注入、編碼轉(zhuǎn)換等進(jìn)行防范;

⑤對(duì)垃圾或敏感信息進(jìn)行過濾;

⑥對(duì)交易轉(zhuǎn)賬等操作進(jìn)行風(fēng)險(xiǎn)控制;

好的設(shè)計(jì)絕對(duì)不是模仿,不是生搬硬套某個(gè)模式,而是對(duì)問題深刻理解之上的創(chuàng)造與創(chuàng)新,即使是“微創(chuàng)新”,也是讓人耳目一新的似曾相識(shí)。山寨與創(chuàng)新的大區(qū)別不在于是否抄襲,是否模仿,而在于對(duì)問題和需求是否真正理解與把握。


本章思維導(dǎo)圖


新聞標(biāo)題:大型網(wǎng)站的分層架構(gòu)模式
鏈接地址:http://www.muchs.cn/news13/100663.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)服務(wù)器托管企業(yè)網(wǎng)站制作、營(yíng)銷型網(wǎng)站建設(shè)、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)