網站的架構模式
1.分層、2.分割、3.分布式、4.集群、5.緩存、6.異步、7.冗余、8.自動化、9.安全
1.分層
常用的MVC就屬于分層架構,邏輯上將系統橫向的切分成幾個部分,符合高內聚低耦合的原則,
便于分工合作和維護
2.分割
網站變大時,可以將不同的功能和服務分割開來,形成高內聚低耦合的模塊單元,和分層一樣
同樣便于維護,也便于進行分布式
3.分布式
分層和分割都是在邏輯上進行的切分,分布式時在物理部署上,將不同的模塊的部署到不同的
機器上,計算機越多,CPU、內存、存儲資源也就越多,能處理的并發訪問和數據量也就越大
常用的分布式服務Dubbo,分布式文件系統fastdfs、mfs,分布式數據庫
4.集群
分布式后,仍然有些服務訪問量較大,這時候就需要將獨立部署的服務器集群化,即多臺服務器
部署相同應用構成一個集群,通過負載均衡設備共同對外提供服務。從而提高并發能力,也會提高
系統可用性。
5.緩存
緩存將數據放在離用戶最近的地方,加快數據訪問速度,減小數據庫負載壓力。
CDN(內容分發網絡) :部署在離用戶最近的網絡服務商,緩存靜態資源(較少變化的熱點內容)
反向代理
本地緩存
分布式緩存
6.異步
異步架構采用的生產者消費者模式,消息隊列如activemq
提高可用性;消費者服務器故障時,數據在消息隊列服務器堆積,生產者服務器繼續處理請求,無故障
消費者服務器恢復正常后,繼續處理消息隊列中數據
加快響應速度:生產者服務器處理完請求后,將數據寫入隊列,不需要等待消費者處理就可以返回,響應延遲減少
消除并發訪問高峰:
7.冗余
服務集群防止單點故障,數據庫主從復制,
8.自動化
9.安全