成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

0網(wǎng)站的架構(gòu)

isaced / 1794人閱讀

摘要:初始階段的網(wǎng)站架構(gòu)在初始階段,訪問(wèn)量并不大,所以應(yīng)用程序數(shù)據(jù)庫(kù)文件等所有的資源都在一臺(tái)服務(wù)器上。使用緩存改善網(wǎng)站性能緩存的使用無(wú)處不在,緩存的根本目的是加快訪問(wèn)速度。在大型網(wǎng)站架構(gòu)中也采用分層結(jié)構(gòu),將網(wǎng)主占軟件系統(tǒng)分為應(yīng)用層服務(wù)層數(shù)據(jù)層。

有人說(shuō)過(guò),大型網(wǎng)站是根據(jù)業(yè)務(wù)需求逐步演化而來(lái)的,而不是設(shè)計(jì)出來(lái)的,下面就是一個(gè)大型網(wǎng)站的進(jìn)化過(guò)程。

1 初始階段的網(wǎng)站架構(gòu)

在初始階段,訪問(wèn)量并不大,所以應(yīng)用程序、數(shù)據(jù)庫(kù)、文件等所有的資源都在一臺(tái)服務(wù)器上。

2 應(yīng)用服務(wù)和數(shù)據(jù)服務(wù)分離

隨著業(yè)務(wù)的發(fā)展,就會(huì)發(fā)現(xiàn)一臺(tái)服務(wù)器抗不過(guò)來(lái)了,所以將應(yīng)用服務(wù)器與數(shù)據(jù)(文件、數(shù)據(jù)庫(kù))服務(wù)器分離。三臺(tái)服務(wù)器對(duì)硬件資源的要求各不相同:應(yīng)用服務(wù)器需要更快的CPU,文件服務(wù)器需要更大的磁盤(pán)和帶寬,數(shù)據(jù)庫(kù)服務(wù)器需要更快速的磁盤(pán)和更大的內(nèi)存。分離之后,三個(gè)服務(wù)器各司其職,也方便針對(duì)性的優(yōu)化。

3 使用緩存改善網(wǎng)站性能

緩存的使用無(wú)處不在,緩存的根本目的是加快訪問(wèn)速度。當(dāng)數(shù)據(jù)庫(kù)的訪問(wèn)壓力過(guò)大的時(shí)候,就可以考慮使用緩存了。網(wǎng)站使用的緩存可以分為兩種: 緩存在應(yīng)用服務(wù)器上的本地緩存和緩存在專(zhuān)門(mén)的分布式緩存服務(wù)器上的遠(yuǎn)程緩存。

4使用應(yīng)用服務(wù)器集群改善網(wǎng)站的并發(fā)處理能力

隨著業(yè)務(wù)的發(fā)展,單個(gè)應(yīng)用服務(wù)器一定會(huì)成為瓶頸,應(yīng)用服務(wù)器實(shí)現(xiàn)集群是網(wǎng)站可伸縮集群架構(gòu)設(shè)計(jì)中較為簡(jiǎn)單成熟的一種。后面也會(huì)提到,將應(yīng)用服務(wù)器設(shè)計(jì)為無(wú)狀態(tài)的(沒(méi)有需要保存的上下文信息),就可以通過(guò)增加機(jī)器,使用負(fù)載均衡來(lái)scale out。

5.?dāng)?shù)據(jù)庫(kù)讀寫(xiě)分離

即使使用了緩存,但在緩存未命中、或者緩存服務(wù)時(shí)效的情況下,還是需要訪問(wèn)數(shù)據(jù)庫(kù),這個(gè)時(shí)候就需要數(shù)據(jù)庫(kù)的讀寫(xiě)分離:主庫(kù)提供寫(xiě)操作,從庫(kù)提供讀服務(wù)。注意,在上圖中增加了一個(gè)數(shù)據(jù)訪問(wèn)模塊,可以對(duì)應(yīng)用層透明數(shù)據(jù)庫(kù)的主從分離信息。

6.使用反向代理和CDN 加速網(wǎng)站晌應(yīng)
CDN和反向代理其實(shí)都是緩存,區(qū)別在于CDN 部署在網(wǎng)絡(luò)提供商的機(jī)房;而反向代理則部署在網(wǎng)站的中心機(jī)房。使用CDN 和反向代理的目的都是盡旱返回?cái)?shù)據(jù)給用戶(hù), 一方面加快用戶(hù)訪問(wèn)速度,另一方面也減輕后端服務(wù)器的負(fù)載壓力。

7.使用分布式文件系統(tǒng)和分布式數(shù)據(jù)庫(kù)系統(tǒng)
單個(gè)物理機(jī)的磁盤(pán)是有限的,單個(gè)關(guān)系數(shù)據(jù)庫(kù)的處理能力也是有上限的,所以需要分布式文件存儲(chǔ)與分布式數(shù)據(jù)庫(kù)。當(dāng)然,也需要”統(tǒng)一數(shù)據(jù)訪問(wèn)模塊“,使得應(yīng)用層不用關(guān)心文件、數(shù)據(jù)的具體位置。值得一提的事,關(guān)系型數(shù)據(jù)庫(kù)自身并沒(méi)有很好的水平擴(kuò)展方案,因此一般都需要一個(gè)數(shù)據(jù)庫(kù)代理層,如cobar、mycat。

8.業(yè)務(wù)拆分
將一個(gè)網(wǎng)站拆分成許多不同的應(yīng)用, 每個(gè)應(yīng)用獨(dú)立部署維護(hù)。應(yīng)用之間可以通過(guò)一個(gè)超鏈接建立關(guān)系(在首頁(yè)上的導(dǎo)航鏈接每個(gè)都指向不同的應(yīng)用地址) ,也可以通過(guò)消息隊(duì)列進(jìn)行數(shù)據(jù)分發(fā), 當(dāng)然最多的還是通過(guò)訪問(wèn)同一個(gè)數(shù)據(jù)存儲(chǔ)系統(tǒng)來(lái)構(gòu)成一個(gè)關(guān)聯(lián)的完整系統(tǒng)

9.分布式服務(wù)
既然每一個(gè)應(yīng)用系統(tǒng)都需要執(zhí)行許多相同的業(yè)務(wù)操作, 比如用戶(hù)管理、商品管理等,那么可以將這些共用的業(yè)務(wù)提取出來(lái),獨(dú)立部署。
通過(guò)服務(wù)的分布式,各個(gè)應(yīng)用能更好的獨(dú)立發(fā)展,實(shí)現(xiàn)了從依賴(lài)模塊到依賴(lài)服務(wù)的過(guò)渡。將通用的公共服務(wù)獨(dú)立出來(lái),也方便做服務(wù)管控,比如對(duì)各個(gè)應(yīng)用的服務(wù)請(qǐng)求進(jìn)行監(jiān)控,在高峰時(shí)期限制、關(guān)閉某些應(yīng)用的訪問(wèn)等。

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

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

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74761.html

相關(guān)文章

  • 大型網(wǎng)站技術(shù)架構(gòu)-入門(mén)梳理

    摘要:使用緩存兩個(gè)前提條件數(shù)據(jù)訪問(wèn)熱點(diǎn)不均衡數(shù)據(jù)某時(shí)段內(nèi)有效,不會(huì)很快過(guò)期反向代理本地緩存分布式緩存異步旨在系統(tǒng)解耦。 大型網(wǎng)站技術(shù)架構(gòu)-入門(mén)梳理 標(biāo)簽 : 架構(gòu)設(shè)計(jì) [TOC] 羅列了大型網(wǎng)站架構(gòu)涉及到的概念,附上了簡(jiǎn)單說(shuō)明 前言 本文是對(duì)《大型網(wǎng)站架構(gòu)設(shè)計(jì)》(李智慧 著)一書(shū)的梳理,類(lèi)似文字版的思維導(dǎo)圖 全文主要圍繞性能,可用性,伸縮性,擴(kuò)展性,安全這五個(gè)要素 性能,可用性,伸縮性...

    wawor4827 評(píng)論0 收藏0
  • 進(jìn)階Java架構(gòu)師必看15本書(shū)

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

    Julylovin 評(píng)論0 收藏0
  • 大型網(wǎng)站技術(shù)架構(gòu)(1)

    摘要:網(wǎng)站都是從小網(wǎng)站一步一步發(fā)展為大型網(wǎng)站的,而這之中的挑戰(zhàn)主要來(lái)自于龐大的用戶(hù)安全環(huán)境惡劣高并發(fā)的訪問(wèn)和海量的數(shù)據(jù),任何簡(jiǎn)單的業(yè)務(wù)處理,一旦需要處理數(shù)以計(jì)的數(shù)據(jù)和面對(duì)數(shù)以?xún)|計(jì)的用戶(hù)時(shí),問(wèn)題就會(huì)變的很棘手下面我們就來(lái)說(shuō)說(shuō)這個(gè)演變過(guò)程初始階段大型 網(wǎng)站都是從小網(wǎng)站一步一步發(fā)展為大型網(wǎng)站的,而這之中的挑戰(zhàn)主要來(lái)自于龐大的用戶(hù)、安全環(huán)境惡劣、高并發(fā)的訪問(wèn)和海量的數(shù)據(jù),任何簡(jiǎn)單的業(yè)務(wù)處理,一旦需要...

    fredshare 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<