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ù)庫;
④分布式緩存:應(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ù)庫除了定期備份存檔保存實(shí)現(xiàn)冷備份之外,為了保證在線業(yè)務(wù)高可用,還需要對(duì)數(shù)據(jù)庫進(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)化測試;
④自動(dòng)化安全監(jiān)測;
九、安全
①通過密碼和手機(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://jinyejixie.com/news13/100663.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)、服務(wù)器托管、企業(yè)網(wǎng)站制作、營銷型網(wǎng)站建設(shè)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容