2021-02-13 分類: 網(wǎng)站建設
一、分層
最常見的架構模式,將系統(tǒng)在橫向維度上切分成幾個部分,每個部分單一職責。網(wǎng)站一般分為三個層次:應用層、服務層和數(shù)據(jù)層,其具體結構如下圖所示:
通過分層,一個龐大系統(tǒng)切分成不同部分,便于分工合作和維護。
但是,分層架構也有一些挑戰(zhàn):①必須合理規(guī)劃層次邊界和接口;②禁止跨層次的調用及逆向調用。
二、分割
分割是在縱向方面對軟件進行切分->將不同的功能和服務分割開來,包裝成高內聚低耦合的模塊單元,有助于軟件開發(fā)和維護,還便于不同模塊的分布式部署,提高網(wǎng)站的并發(fā)處理能力和功能擴展能力。
三、分布式
①分布式應用和服務:應用和服務模塊分布式部署,便于業(yè)務功能擴展;
②分布式靜態(tài)資源:JS、CSS、LOGO圖片等資源獨立部署,采用獨立域名->動靜分離;
③分布式數(shù)據(jù)和存儲:傳統(tǒng)RDBMS分布式部署和NoSQL產(chǎn)品;
④分布式計算:Hadoop及其MapReduce分布式計算框架,其特點是移動計算而不是移動數(shù)據(jù)。
四、集群
多臺服務器部署相同應用構成一個集群,通過負載均衡設備共同對外提供服務。當某臺服務器發(fā)生故障,負載均衡設備或者系統(tǒng)的失效轉移機制將請求轉發(fā)到集群中的其他服務器上,提高系統(tǒng)的可用性,即所謂的HA(高可用性)。
所以,在網(wǎng)站應用中,即使是訪問量很小的分布式應用和服務,也至少要部署兩臺服務器構成一個小集群。
五、緩存
緩存是改善軟件性能的第一手段。在復雜的軟件設計中,緩存幾乎無處不在。
①CDN:內容分發(fā)網(wǎng)絡,緩存網(wǎng)站的一些靜態(tài)資源;
②反向代理:部署在網(wǎng)站的前端,最先訪問到的就是反向代理服務器;
③本地緩存:在應用服務器本地緩存熱點數(shù)據(jù),無需訪問數(shù)據(jù)庫;
④分布式緩存:應用程序通過網(wǎng)絡通信訪問緩存數(shù)據(jù);
網(wǎng)站應用中,緩存除了可以加快數(shù)據(jù)訪問速度,還可以減輕后端應用和數(shù)據(jù)存儲的負載壓力。
六、異步
業(yè)務之間的消息傳遞不是同步調用,而是將一個業(yè)務操作分成多個階段,每個階段之間通過共享數(shù)據(jù)的方式異步執(zhí)行進行協(xié)作。
異步架構是典型的生產(chǎn)者消費者模式,兩者不存在直接調用,只要保持數(shù)據(jù)結構不變,彼此功能實現(xiàn)可以隨意變化而不互相影響,這對網(wǎng)站擴展新功能非常便利。
異步消息隊列可以提高系統(tǒng)可用性、加快網(wǎng)站響應速度,消除并發(fā)訪問高峰。
七、冗余
要想保證在服務器宕機的情況下網(wǎng)站依然可以繼續(xù)服務,不丟失數(shù)據(jù),就需要一定程度的服務器冗余運行,數(shù)據(jù)冗余備份,這樣當某臺服務器宕機時,可以將其上的服務和數(shù)據(jù)訪問轉移到其他機器上。
數(shù)據(jù)庫除了定期備份存檔保存實現(xiàn)冷備份之外,為了保證在線業(yè)務高可用,還需要對數(shù)據(jù)庫進行主從分離,實時同步實現(xiàn)熱備份。
八、自動化
在無人值守的情況下,網(wǎng)站可以正常運行,一切都可以自動化是網(wǎng)站的理想狀態(tài)。目前大型網(wǎng)站的自動化架構設計主要集中在發(fā)布運維方面。
①發(fā)布部署過程自動化;
②自動化代碼管理;
③自動化測試;
④自動化安全監(jiān)測;
九、安全
①通過密碼和手機校驗碼進行身份驗證;
②對登錄、交易等操作進行加密;
③使用驗證碼進行識別;
④對于常見的XSS攻擊、SQL注入、編碼轉換等進行防范;
⑤對垃圾或敏感信息進行過濾;
⑥對交易轉賬等操作進行風險控制;
好的設計絕對不是模仿,不是生搬硬套某個模式,而是對問題深刻理解之上的創(chuàng)造與創(chuàng)新,即使是“微創(chuàng)新”,也是讓人耳目一新的似曾相識。山寨與創(chuàng)新的大區(qū)別不在于是否抄襲,是否模仿,而在于對問題和需求是否真正理解與把握。
本章思維導圖
網(wǎng)站欄目:大型網(wǎng)站的分層架構模式
標題URL:http://jinyejixie.com/news/100663.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、外貿網(wǎng)站建設、靜態(tài)網(wǎng)站、響應式網(wǎng)站、小程序開發(fā)、網(wǎng)站內鏈
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容