可擴(kuò)展web架構(gòu)與分布式系統(tǒng)

可擴(kuò)展web架構(gòu)與分布式系統(tǒng)

ID:11725953

大小:853.00 KB

頁數(shù):22頁

時間:2018-07-13

可擴(kuò)展web架構(gòu)與分布式系統(tǒng)_第1頁
可擴(kuò)展web架構(gòu)與分布式系統(tǒng)_第2頁
可擴(kuò)展web架構(gòu)與分布式系統(tǒng)_第3頁
可擴(kuò)展web架構(gòu)與分布式系統(tǒng)_第4頁
可擴(kuò)展web架構(gòu)與分布式系統(tǒng)_第5頁
資源描述:

《可擴(kuò)展web架構(gòu)與分布式系統(tǒng)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、開放源代碼已經(jīng)成為一些大型網(wǎng)站的基本原則。而在這些網(wǎng)站成長的過程中,一些優(yōu)秀的實踐經(jīng)驗和規(guī)則也出現(xiàn)在他們的結(jié)構(gòu)中。本文旨在介紹一些在大型網(wǎng)站結(jié)構(gòu)設(shè)計的過程中需要注意的關(guān)鍵問題以及實現(xiàn)目標(biāo)的基礎(chǔ)工作。本文側(cè)重于介紹網(wǎng)絡(luò)系統(tǒng),盡管一些準(zhǔn)則在其他分布式系統(tǒng)中也是適用的。1.1.web分布式系統(tǒng)的設(shè)計原則搭建和運營一個可伸縮的web站點或者應(yīng)用程序意味著什么?在原始層面上這僅僅是用戶通過互聯(lián)網(wǎng)連接到遠(yuǎn)程資源-使系統(tǒng)變得可伸縮的部分是將資源、或者訪問的資源,分布于多個服務(wù)器上。像生活中大多數(shù)事情一樣,當(dāng)構(gòu)建一個web服務(wù)時花時間提前做好計劃從長遠(yuǎn)看來還是很有幫助的;了解一些注意事項和大

2、網(wǎng)站背后的權(quán)衡原則可以在創(chuàng)建小型網(wǎng)站時做出更明智的決定。以下是一些影響大規(guī)模web系統(tǒng)設(shè)計的關(guān)鍵原則:·可用性:對于很多公司來說一個網(wǎng)站的正常運行時間是非常關(guān)鍵的聲譽和功能,像一些大型的在線零售系統(tǒng),即使一分鐘的宕機(jī)都有可能導(dǎo)致數(shù)千或者數(shù)百萬美元的損失,因此設(shè)計系統(tǒng)的時時可用性和彈性的錯誤處理機(jī)制既是一個基本業(yè)務(wù)也是一個技術(shù)要求。高可用分布式系統(tǒng)需要仔細(xì)考慮關(guān)鍵組件的冗余,分系統(tǒng)失敗后能快速修復(fù),并且當(dāng)問題出現(xiàn)時優(yōu)雅型降級?!ば阅?網(wǎng)站的性能正在變成大多數(shù)站點考慮的一個重要的方面,網(wǎng)站的速度影響正常使用和用戶的滿意度,同樣影響搜索的排名,這也是影響網(wǎng)站收益和保留用戶的一個因素

3、。因此,創(chuàng)建一個快速響應(yīng)和低延遲的系統(tǒng)是非常關(guān)鍵的?!た煽啃?一個系統(tǒng)需要具備可靠性,比如同一個數(shù)據(jù)的請求始終返回同樣的數(shù)據(jù)響應(yīng)。如果數(shù)據(jù)改變或者被更新,那么同樣的數(shù)據(jù)將返回一個新的數(shù)據(jù)。用戶需要知道一些東西被寫入系統(tǒng)或者被存儲到系統(tǒng)后,系統(tǒng)會保持不變并且可以在以后恢復(fù)到合適的位置?!た缮炜s性:當(dāng)談到任何大型的分布式系統(tǒng)時,規(guī)模大小只是考慮的其中一個方面,同樣重要的是增強(qiáng)處理較大規(guī)模的負(fù)載性能所做的努力,這通常稱為系統(tǒng)的可伸縮性??缮炜s性可以代表系統(tǒng)很多不同的參數(shù):額外流量的處理量,添加存儲容量的便意性,甚至事務(wù)的處理量。·可管理性:?設(shè)計一個系統(tǒng)可以方便操作是另一個重要的考

4、慮方面,系統(tǒng)的可管理性等同于操作的可伸縮性:維護(hù)和升級??晒芾硇孕枰紤]的事情是當(dāng)問題發(fā)生時方便診斷和了解問題,易于升級和修改,以及系統(tǒng)能簡單性的操作(即,例行的操作有沒有失敗和異常?)·成本:?成本是一個重要的因素。很明顯這包含硬件和軟件成本,但同樣重要需要考慮的其他方面是部署和維護(hù)系統(tǒng)的成本。開發(fā)者構(gòu)建系統(tǒng)花費的大量時間,運維部署時間,甚至培訓(xùn)時間都需要考慮,成本是總體成本。以上每個原則都為設(shè)計分布式web架構(gòu)提供了基礎(chǔ)決策。然而,他們也能彼此互斥,例如要實現(xiàn)某個目標(biāo)就要以另外的作為代價。一個基本的例子:選擇通過單純增加更多的服務(wù)器(可擴(kuò)展性)來增加地址容量,是以可管理性

5、(你必須操作增加的服務(wù)器)和成本(服務(wù)器的價格)為代價的。當(dāng)設(shè)計任何的web應(yīng)用程序時,考慮這些關(guān)鍵原則都是很重要的,即使得承認(rèn)一個設(shè)計可能要犧牲它們之中的一個或者多個。1.2.基礎(chǔ)當(dāng)設(shè)計一個系統(tǒng)架構(gòu)時,有一些東西是要考慮的:正確的部分是什么,怎樣讓這些部分很好地融合在一起,以及好的折中方法是什么。通常在系統(tǒng)架構(gòu)需要之前就為它的可擴(kuò)展性投資不是一個聰明的商業(yè)抉擇;然而,在設(shè)計上的深謀遠(yuǎn)慮能在未來節(jié)省大量的時間和資源。這部分關(guān)注點是幾乎所有大型web應(yīng)用程序中心的一些核心因素:服務(wù)、冗余、劃分和錯誤處理。每一個因素都包含了選擇和妥協(xié),特別是上部分提到的設(shè)計原則。為了詳細(xì)的解析這

6、些,最好是用一個例子來開始。實例:圖片托管應(yīng)用有時候你可能會在線上傳一張圖片。對于那些托管并負(fù)責(zé)分發(fā)大量圖片的網(wǎng)站來說,要搭建一個既節(jié)省成本又高效還能具備較低的延遲性(你能快速的獲圖片)的網(wǎng)站架構(gòu)確實是一種挑戰(zhàn)。我們來假設(shè)一個系統(tǒng),用戶可以上傳他們的圖片到中心服務(wù)器,這些圖片又能夠讓一些web鏈接或者API獲取這些圖片,就如同現(xiàn)在的Flickr或者Picasa。為了簡化的需要,我們假設(shè)應(yīng)用程序分為兩個主要的部分:一個是上傳圖片到服務(wù)器的能力(通常說的寫操作),另一個是查詢一個圖片的能力。然而,我們當(dāng)然想上傳功能很高效,但是我們更關(guān)心的是能夠快速分發(fā)能力,也就是說當(dāng)某個人請求一

7、個圖片的時候(比如,一個web頁面或者其它應(yīng)用程序請求圖片)能夠快速的滿足。這種分發(fā)能力很像web服務(wù)器或者CDN連接服務(wù)器(CDN服務(wù)器一般用來在多個位置存儲內(nèi)容一邊這些內(nèi)容能夠從地理位置或者物理上更靠近訪問它的用戶,已達(dá)到高效訪問的目的)氣的作用。系統(tǒng)其他重要方面:·對圖片存儲的數(shù)量沒有限制,所以存儲需要可擴(kuò)展,在圖像數(shù)量方面需要考慮。·圖片的下載和請求不需要低延遲?!と绻脩羯蟼饕粋€圖片,圖片應(yīng)該都在那里(圖片數(shù)據(jù)的可靠性)?!は到y(tǒng)應(yīng)該容易管理(可管理性)?!び捎趫D片主機(jī)不會有高利潤的空間,所以系

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。