国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

0網站的架構

isaced / 1786人閱讀

摘要:初始階段的網站架構在初始階段,訪問量并不大,所以應用程序數據庫文件等所有的資源都在一臺服務器上。使用緩存改善網站性能緩存的使用無處不在,緩存的根本目的是加快訪問速度。在大型網站架構中也采用分層結構,將網主占軟件系統分為應用層服務層數據層。

有人說過,大型網站是根據業務需求逐步演化而來的,而不是設計出來的,下面就是一個大型網站的進化過程。

1 初始階段的網站架構

在初始階段,訪問量并不大,所以應用程序、數據庫、文件等所有的資源都在一臺服務器上。

2 應用服務和數據服務分離

隨著業務的發展,就會發現一臺服務器抗不過來了,所以將應用服務器與數據(文件、數據庫)服務器分離。三臺服務器對硬件資源的要求各不相同:應用服務器需要更快的CPU,文件服務器需要更大的磁盤和帶寬,數據庫服務器需要更快速的磁盤和更大的內存。分離之后,三個服務器各司其職,也方便針對性的優化。

3 使用緩存改善網站性能

緩存的使用無處不在,緩存的根本目的是加快訪問速度。當數據庫的訪問壓力過大的時候,就可以考慮使用緩存了。網站使用的緩存可以分為兩種: 緩存在應用服務器上的本地緩存和緩存在專門的分布式緩存服務器上的遠程緩存。

4使用應用服務器集群改善網站的并發處理能力

隨著業務的發展,單個應用服務器一定會成為瓶頸,應用服務器實現集群是網站可伸縮集群架構設計中較為簡單成熟的一種。后面也會提到,將應用服務器設計為無狀態的(沒有需要保存的上下文信息),就可以通過增加機器,使用負載均衡來scale out。

5.數據庫讀寫分離

即使使用了緩存,但在緩存未命中、或者緩存服務時效的情況下,還是需要訪問數據庫,這個時候就需要數據庫的讀寫分離:主庫提供寫操作,從庫提供讀服務。注意,在上圖中增加了一個數據訪問模塊,可以對應用層透明數據庫的主從分離信息。

6.使用反向代理和CDN 加速網站晌應
CDN和反向代理其實都是緩存,區別在于CDN 部署在網絡提供商的機房;而反向代理則部署在網站的中心機房。使用CDN 和反向代理的目的都是盡旱返回數據給用戶, 一方面加快用戶訪問速度,另一方面也減輕后端服務器的負載壓力。

7.使用分布式文件系統和分布式數據庫系統
單個物理機的磁盤是有限的,單個關系數據庫的處理能力也是有上限的,所以需要分布式文件存儲與分布式數據庫。當然,也需要”統一數據訪問模塊“,使得應用層不用關心文件、數據的具體位置。值得一提的事,關系型數據庫自身并沒有很好的水平擴展方案,因此一般都需要一個數據庫代理層,如cobar、mycat。

8.業務拆分
將一個網站拆分成許多不同的應用, 每個應用獨立部署維護。應用之間可以通過一個超鏈接建立關系(在首頁上的導航鏈接每個都指向不同的應用地址) ,也可以通過消息隊列進行數據分發, 當然最多的還是通過訪問同一個數據存儲系統來構成一個關聯的完整系統

9.分布式服務
既然每一個應用系統都需要執行許多相同的業務操作, 比如用戶管理、商品管理等,那么可以將這些共用的業務提取出來,獨立部署。
通過服務的分布式,各個應用能更好的獨立發展,實現了從依賴模塊到依賴服務的過渡。將通用的公共服務獨立出來,也方便做服務管控,比如對各個應用的服務請求進行監控,在高峰時期限制、關閉某些應用的訪問等。

10網站架構模式
① 分層
分層是企業應用系統中最常見的一種架構模式,將系統在橫向維度上切分成幾個部分,每個部分負責一部分相對比較單一的職責, 然后通過上層對下層的依賴和調用組成一個完整的系統。
在大型網站架構中也采用分層結構,將網主占軟件系統分為應用層、服務層、數據層。
分層的好處在于:解耦合,獨立發展,伸縮性,可擴展性。上面網站的進化史也凸出了分層的重要性。
但是分層架構也有一些挑戰, 就是必須合理規劃層次邊界和接口,在開發過程中,嚴格遵循分層架構的約束, 禁止跨層次的調用( 應用層直接調用數據層)及逆向調用(數據層調用服務層, 或者服務層調用應用層)。
② 分割
分層強調的是橫向切分,而分割是縱向切分, 上面網站進化史部分的業務拆分就包含了分割。
分割的目標是高內聚、低耦合的模塊單元
③ 分布式
分層和分割的一個主要目的是分布式部署,但分布式也有自己的問題:網絡通信帶來的性能問題,可用性,一致性與分布式事務,系統維護管理復雜度。
④ 集群
一個機器解決不了的問題,就用幾個機器來解決,當服務無狀態的時候,通過往集群增加機器就能解決大部分問題。對應網站進化史中“使用應用服務器集群改善網站的并發處理能力”
⑤ 緩存

緩存就是將數據存放在距離計算最近的位置以加快處理速度,同時大大減輕了數據提供者的壓力
大型網站架構設計在很多方面都使用了緩存設計:CDN、反向代理、本地緩存、分布式緩存
⑥ 異步
異步是解耦合的一個重要手段,常見的生產者-消費者模型就是一個異步模式。
出了解耦合,異步還能提高系統可用性、加快響應速度、流量削峰。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/74761.html

相關文章

  • 大型網站技術架構-入門梳理

    摘要:使用緩存兩個前提條件數據訪問熱點不均衡數據某時段內有效,不會很快過期反向代理本地緩存分布式緩存異步旨在系統解耦。 大型網站技術架構-入門梳理 標簽 : 架構設計 [TOC] 羅列了大型網站架構涉及到的概念,附上了簡單說明 前言 本文是對《大型網站架構設計》(李智慧 著)一書的梳理,類似文字版的思維導圖 全文主要圍繞性能,可用性,伸縮性,擴展性,安全這五個要素 性能,可用性,伸縮性...

    wawor4827 評論0 收藏0
  • 進階Java架構師必看15本書

    摘要:阿里巴巴的共享服務理念以及企業級互聯網架構建設的思路,給這些企業帶來了不少新的思路,這也是我最終決定寫這本書的最主要原因。盡在雙阿里巴巴技術演進與超越是迄今唯一由阿里巴巴集團官方出品全面闡述雙八年以來在技術和商業上演進和創新歷程的書籍。 showImg(https://segmentfault.com/img/remote/1460000015386860); 1、大型網站技術架構:核...

    Julylovin 評論0 收藏0
  • 大型網站技術架構(1)

    摘要:網站都是從小網站一步一步發展為大型網站的,而這之中的挑戰主要來自于龐大的用戶安全環境惡劣高并發的訪問和海量的數據,任何簡單的業務處理,一旦需要處理數以計的數據和面對數以億計的用戶時,問題就會變的很棘手下面我們就來說說這個演變過程初始階段大型 網站都是從小網站一步一步發展為大型網站的,而這之中的挑戰主要來自于龐大的用戶、安全環境惡劣、高并發的訪問和海量的數據,任何簡單的業務處理,一旦需要...

    fredshare 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<