云計(jì)算:分布式網(wǎng)絡(luò)服務(wù)可靠性分析

          鏈接:http://www.365master.com/netdata/newtech/tech/20080918/37192.shtml???? 來源:IT168  作者: 發(fā)布時(shí)間:2008-09-18

          不久前,Amazon網(wǎng)絡(luò)服務(wù)大規(guī)模的癱瘓事件招來了客戶的大量批評(píng)和否定。緊接著,作為世界上最大托管存儲(chǔ)商的Rackspace也出現(xiàn)了與Amazon 類似的情況,同樣惹得怨聲載道。由于這兩家的規(guī)模龐大,因此影響面甚廣;又由于兩者都采用了云計(jì)算的架構(gòu),所以人們?cè)诒г股碳曳?wù)的同時(shí),不禁懷疑起云計(jì)算的可靠性來。

          然而,正如任何系統(tǒng)一樣,沒有什么是完美的。當(dāng)系統(tǒng)故障發(fā)生,沮喪的我們應(yīng)該認(rèn)識(shí)到這是生活的一部分。任何復(fù)雜如Amazon網(wǎng)絡(luò)服務(wù)的系統(tǒng),沒有人能保證不會(huì)發(fā)生一點(diǎn)問題。正因?yàn)槿绱耍瑔我弧⑴既话l(fā)生的故障問題并不能衡量服務(wù)的質(zhì)量。

          那么,云計(jì)算真的就不好么?事實(shí)當(dāng)然并非如此,相反,它具有強(qiáng)大的生命力以及美好的前景。

          "云"與LAMP

          網(wǎng)絡(luò)服務(wù)起源于L.A.M.P的組合(linux、Apache、MySQL、Perl),直至今日依然強(qiáng)大有效,因此仍是許多流行網(wǎng)站的選擇。LAMP 貴在簡(jiǎn)潔之美,這使得上手非常容易。但它卻存在擴(kuò)展性差的問題:其一為Apache網(wǎng)站服務(wù)器的線程與scoket的連接少,因此當(dāng)面臨負(fù)載增加又未合理配置的情況時(shí),網(wǎng)站的運(yùn)轉(zhuǎn)就有可能出現(xiàn)故障;其二就是MySQL的關(guān)系型數(shù)據(jù)庫(kù)規(guī)模有限,因此成了整個(gè)系統(tǒng)最大的瓶頸,這個(gè)問題尤為突出。

          關(guān)系型數(shù)據(jù)庫(kù)因?yàn)樾畔⒈碚鞣绞綄?dǎo)致了容量的受限。并且,當(dāng)達(dá)到一定規(guī)模時(shí),管理還會(huì)變得困難。右下圖明顯可見,單一的關(guān)系型數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)服務(wù)器間存在著明顯的性能瓶頸以及單點(diǎn)失效的風(fēng)險(xiǎn)。為解決這一問題,一種名為數(shù)據(jù)分區(qū)的技術(shù)可以使關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)劃分到N個(gè)獨(dú)立集中去。如果這樣行不通的話,唯一的方法就是放棄關(guān)系型數(shù)據(jù)庫(kù),改用分布式數(shù)據(jù)庫(kù),而這恰恰就進(jìn)入了"云"的范疇。

          云計(jì)算的概念

          云計(jì)算的想法并不難理解,就是要將應(yīng)用程序分散布置在由眾多硬件盒組成的一個(gè)大型網(wǎng)格中。每個(gè)盒子內(nèi)部系統(tǒng)相同,且規(guī)格均一。起平衡整個(gè)系統(tǒng)負(fù)載作用的負(fù)載均衡器發(fā)出的指令可以在各個(gè)盒間流水般無阻礙的通行,因此看似分散的盒子能運(yùn)作如一體,迅速做出反應(yīng),宛如分散的小水滴在大氣壓作用下凝聚成一體終成浮動(dòng)的白云,這就是"云"的概念。"云"之美還在于它的擴(kuò)展性,你可以很容易地向"云"中添加更多的盒子。

          在上圖中可以看出,計(jì)算云包括了三個(gè)最基本的組分:一個(gè)網(wǎng)站服務(wù)/應(yīng)用層,一個(gè)分布式存儲(chǔ)層,以及一個(gè)分布式隊(duì)列層。每一個(gè)層都可作為"云"本身,也就是說層的每一組分在功能和結(jié)構(gòu)上完全一致。在這最簡(jiǎn)單的模型中,web tier就當(dāng)于LAMP中的bit概念,在"云"中,網(wǎng)絡(luò)服務(wù)器同樣可以采用Apache,同樣可以運(yùn)行應(yīng)用程序的PHP代碼,但與LAMP根本不同的是數(shù)據(jù)庫(kù)不再是MySQL,而采用了分布式存儲(chǔ)系統(tǒng)系統(tǒng),如Amazon S3, Amazon SimpleDB或Amazon Dynamo。分布式隊(duì)列層除了在無法實(shí)時(shí)操作的情況下需要外,并不是必須的。

          "云"最大的優(yōu)勢(shì)是它支持按需變化的運(yùn)算商務(wù)模式。比如說,一個(gè)建立在"云"上的能支持1,000~10,000位客戶的網(wǎng)絡(luò)服務(wù)如果需要將客戶容量提高到10,000,000,那么僅僅只需向"云"中添加盒子的數(shù)量。從商業(yè)前景來說,這是非常具有吸引力的,因?yàn)椴捎?云"之后很容易計(jì)算出系統(tǒng)擴(kuò)展所需要的成本。

          云計(jì)算的現(xiàn)狀

          "云"計(jì)算最好的例子無疑是Google。這個(gè)網(wǎng)絡(luò)世界的巨頭搭建和控制了數(shù)以百計(jì)、千計(jì)甚至于百萬計(jì)的硬件盒,構(gòu)成了一朵龐大的"云"。但為了應(yīng)對(duì)不斷增長(zhǎng)的網(wǎng)絡(luò)用戶的服務(wù)請(qǐng)求,Google還在一刻不停地?cái)U(kuò)展著"云"的規(guī)模。

          當(dāng)然,Google并不是唯一的實(shí)踐者,而是幾乎所有大型的網(wǎng)站包括Amazon, eBay, Yahoo! 和Facebook都采用了各種形式的云計(jì)算。尤其是Amazon,憑借著它在分布式計(jì)算領(lǐng)域的領(lǐng)先地位,在過去的15年一直完善著這項(xiàng)技術(shù),所以不難理解它要將未來的賭注壓在垂直網(wǎng)站服務(wù)上。他們相信未來屬于云計(jì)算,掌握了云計(jì)算的核心就掌握了生財(cái)之道,這一點(diǎn)上沒人比他們做的更好。

          云計(jì)算的可靠性

          對(duì)于Amazon的服務(wù)崩潰,也許有業(yè)內(nèi)人士會(huì)想:如果換成是我做的話,我一定能做的更好。這種設(shè)想一直存在于軟件業(yè)的發(fā)展史中,如計(jì)算機(jī)語(yǔ)言種類的重復(fù)發(fā)明、API不斷地推翻重寫,我們總認(rèn)為比前人更聰明、更富有創(chuàng)新性,但99.9%的事實(shí)證明我們是錯(cuò)的。所以說這次錯(cuò)不在于Amazon,在我們之前,他們已經(jīng)投入了巨大的財(cái)力和人力來試圖解決這些問題。大規(guī)模的運(yùn)算服務(wù)是一個(gè)異常復(fù)雜和龐大的問題,即使對(duì)最具智慧和前途的工程師來說,也需花費(fèi)數(shù)年來弄懂和解決它。

          就目前來說,搭建云計(jì)算平臺(tái)可以通過獨(dú)立設(shè)計(jì)和技術(shù)購(gòu)買兩種手段來實(shí)現(xiàn)。除非特定云計(jì)算結(jié)構(gòu)需要獨(dú)立設(shè)計(jì)外,大部分情況下,采用Amazon網(wǎng)絡(luò)服務(wù)的云計(jì)算結(jié)構(gòu)能滿足需要。如果要擊敗對(duì)手,必須要明白和突出自己的產(chǎn)品的獨(dú)特性,否則走重新設(shè)計(jì)的路線,你會(huì)發(fā)現(xiàn)你已失去時(shí)間和資源。

          也許Amazon服務(wù)崩潰不僅僅是"云"的問題,是否還應(yīng)該考慮一下SLA(Service Level Agreements,服務(wù)品質(zhì)協(xié)議)?明明SLA上保證的是99.99%的網(wǎng)絡(luò)服務(wù)可用率,可當(dāng)服務(wù)使用3小時(shí)后就陷于癱瘓的情況該如何解釋呢?我們應(yīng)該知道,無論SLA上怎樣的承諾,它不可能保證電力供應(yīng)系統(tǒng)和"云"結(jié)構(gòu)的完美無瑕地運(yùn)作。

          所以我們不能盲目相信SLA,而是要?jiǎng)佑米约旱拇竽X。評(píng)價(jià)一個(gè)系統(tǒng)性能的穩(wěn)定性不是看它是否會(huì)崩潰,而是預(yù)測(cè)它出現(xiàn)崩潰現(xiàn)象的頻率。如果Amazon的網(wǎng)絡(luò)服務(wù)一年內(nèi)只有3小時(shí)的停工期,那么可以認(rèn)為是完美無缺的;如果是每個(gè)月,那么就是不可接受的;如果是每天,那將是令人抓狂的。

          未來的發(fā)展

          Amazon事件不會(huì)影響它的網(wǎng)絡(luò)服務(wù)計(jì)劃,更不會(huì)阻礙云計(jì)算發(fā)展的步伐。Amazon一直是云計(jì)算的先行者,它建立的大規(guī)模平行網(wǎng)站式計(jì)算服務(wù)正為世界上越來越多的人所接受。我們有理由相信這僅僅只是云計(jì)算的開始,它正在從根本上改變著人類運(yùn)算的方式。

          云計(jì)算解決了擴(kuò)展性的問題,供應(yīng)商們就能把精力集中到自己產(chǎn)品和服務(wù)中去。隨著硬件成本、帶寬和服務(wù)費(fèi)用不斷降低,云計(jì)算不再縹緲,而是觸手可得,人類將乘著云計(jì)算來到了另一個(gè)天空。

          posted on 2009-03-29 17:33 luofeng225 閱讀(306) 評(píng)論(0)  編輯  收藏 所屬分類: 未分類

          <2009年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導(dǎo)航

          統(tǒng)計(jì)

          公告

          我曾經(jīng)聽到這么一個(gè)故事: 一個(gè)年輕的程序員問一個(gè)老程序員(一個(gè)比較牛逼的公司的CTO) 年輕程序員: 你為什么這么牛X., 就好像沒有你不會(huì)的。老程序員: 積累的。年輕程序員: 怎么才能積累到您的程度呢。我每天都在積累。但是似乎都沒有感覺到進(jìn)步。老程序員: 我從20歲開始做到了一件事情,直到今天,而且盡可能地保證不間斷。年輕程序員: 到底是什么? 老程序員: 我每天保證自己有2個(gè)小時(shí)在學(xué)習(xí)新的東西。

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          相冊(cè)

          收藏夾

          Java Website

          java技術(shù)博客

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 定结县| 沧州市| 金堂县| 磴口县| 东光县| 禄丰县| 河津市| 新郑市| 贺州市| 景泰县| 赤峰市| 闻喜县| 嘉荫县| 巴林左旗| 五指山市| 修水县| 霍邱县| 扎鲁特旗| 嘉禾县| 南郑县| 临澧县| 汶川县| 衡阳市| 靖安县| 瓦房店市| 义马市| 平泉县| 淅川县| 汪清县| 夏河县| 孝昌县| 女性| 临邑县| 永年县| 当雄县| 鹿泉市| 洪泽县| 永丰县| 都昌县| 武平县| 合江县|