1、什么是大型網(wǎng)站圾结?
當(dāng)然齿诉,大型網(wǎng)站是相對于傳統(tǒng)企業(yè)系統(tǒng)來說的。
對于傳統(tǒng)的oa粤剧,cms等企業(yè)系統(tǒng)來說,大型網(wǎng)站應(yīng)該具有以下的特點(diǎn):
- 高并發(fā)焕议,大流量:
需要面對高并發(fā)用戶弧关,大流量訪問。什么是高并發(fā)世囊?比如以秒級為單位,每秒的請求數(shù)量達(dá)到一定程度蝙寨,比如螞蟻金服旗下的支付寶交易峰值達(dá)到8.59萬筆/秒。什么是大流量籽慢?騰訊QQ同時在線人數(shù)峰值3億多。 - 高可用
系統(tǒng)24小時不間斷服務(wù)跛锌,服務(wù)宕機(jī)時間會被新聞報道。 - 海量數(shù)據(jù)
需要存儲髓帽、管理海量數(shù)據(jù)脑豹,需要使用大量服務(wù)器。facebook每周上傳的照片數(shù)目接近10億瘩欺,百度收錄的網(wǎng)站有數(shù)百億,google有近百萬臺服務(wù)器提供服務(wù)歌粥。 - 用戶分布廣泛拍埠,網(wǎng)絡(luò)情況復(fù)雜
許多大型互聯(lián)網(wǎng)是為全球用戶提供服務(wù)的,用戶分布范圍廣枣购,各地網(wǎng)絡(luò)情況千差萬別。在國內(nèi)涩堤,還有各個運(yùn)營商網(wǎng)絡(luò)互通難的問題迄损。而中美光纜的數(shù)次故障账磺,也讓一些對國外用戶依賴較大的網(wǎng)站不得不考慮在海外建立數(shù)據(jù)中心。 - 安全環(huán)境惡劣
由于互聯(lián)網(wǎng)的開放性垮抗,使得互聯(lián)網(wǎng)站更容易受到攻擊,大型網(wǎng)站幾乎每天都會被黑客攻擊冒版。 - 需求快速變更,發(fā)布頻繁
與傳統(tǒng)軟件版本的發(fā)布頻率不同,互聯(lián)網(wǎng)產(chǎn)品為了快速適應(yīng)市場滞造,滿足用戶需求栋烤。其產(chǎn)品發(fā)布頻率是極高的。office的產(chǎn)品版本以年為單位發(fā)布买窟,而一般大型網(wǎng)站的產(chǎn)品每周都有新版本發(fā)布上線,至于中小型網(wǎng)站的發(fā)布就更加頻繁了始绍,有時候一天發(fā)布幾十次话侄。 - 漸進(jìn)式發(fā)展
與傳統(tǒng)系統(tǒng)不同的是,大型網(wǎng)站一般都是由一個小的網(wǎng)站開始年堆,一步一步的演進(jìn)升級到大型網(wǎng)站的。
2篇亭、什么是分布式锄贷?
??分布式系統(tǒng)是由一組通過網(wǎng)絡(luò)進(jìn)行通信、為了完成共同的任務(wù)而協(xié)調(diào)工作的計算機(jī)節(jié)點(diǎn)組成的系統(tǒng)谊却。分布式系統(tǒng)的出現(xiàn)是為了用廉價的、普通的機(jī)器完成單個計算機(jī)無法完成的計算捕透、存儲任務(wù)碴萧。其目的是利用更多的機(jī)器,處理更多的數(shù)據(jù)破喻。
??科普三種集群:
- 高可用集群:當(dāng)一臺機(jī)器壓力過大時,會宕機(jī)婴噩,這時候整個系統(tǒng)就無法提供服務(wù)了擎场,所以需要有另一臺機(jī)器立馬接過它的工作迅办,而防止單點(diǎn)故障一般使用的就是高可用集群章蚣。
- 負(fù)載均衡集群:你會發(fā)現(xiàn),如果一臺機(jī)器壓力過大宕機(jī)后究驴,另一臺機(jī)器接管了它的工作,最后的結(jié)果還是宕機(jī),因?yàn)橐慌_服務(wù)器已經(jīng)承受不住壓力熙侍。明顯需要一臺更好的機(jī)器蛉抓,或者用多臺廉價的服務(wù)器來分擔(dān)壓力巷送,當(dāng)然,分布式中一般使用多臺廉價的機(jī)器笑跛。這時候就有一個負(fù)載均衡的問題,由一個負(fù)載均衡器來對請求進(jìn)行分發(fā)飞蹂,根據(jù)一定算法陈哑,保證每臺機(jī)器的負(fù)載,但是如果這臺負(fù)載均衡器宕機(jī)了刽宪,系統(tǒng)也無法訪問了纠屋,所以一般負(fù)載均衡器會做高可用集群盾计,防止單點(diǎn)。
- 高性能計算集群:前面的集群不管怎么樣署辉,都是一臺服務(wù)器在做一件事,都是同步的哭尝,不免會有效率的問題材鹦,是不是可以將這件事拆分成多件小事情桶唐,然后讓不同的服務(wù)器做的尤泽?這就是高性能計算集群坯约。
??在我看來闹丐,當(dāng)單體架構(gòu)無法支撐現(xiàn)有業(yè)務(wù)時,當(dāng)你互相通信的機(jī)器不再是一臺的時候卿拴,分布式來了巍棱。因?yàn)橐WC系統(tǒng)中的所有資源每臺機(jī)器都是可以訪問的如贷,這時候你需要考慮數(shù)據(jù)一致性到踏,數(shù)據(jù)傳輸方式窝稿,分布式事務(wù)伴榔,分布式鎖,需要使用分布式存儲塘安。兼犯。切黔。首先需要明確的是纬霞,只有當(dāng)單個節(jié)點(diǎn)的處理能力無法滿足日益增長的計算险领、存儲任務(wù)的時候绢陌,且硬件的提升(加內(nèi)存脐湾、加磁盤、使用更好的CPU)高昂到得不償失的時候愁铺,應(yīng)用程序也不能進(jìn)一步優(yōu)化的時候,我們才需要考慮分布式系統(tǒng)孟岛。因?yàn)榍撸植际较到y(tǒng)要解決的問題本身就是和單機(jī)系統(tǒng)一樣的次询,而由于分布式系統(tǒng)多節(jié)點(diǎn)屯吊、通過網(wǎng)絡(luò)通信的拓?fù)浣Y(jié)構(gòu),會引入很多單機(jī)系統(tǒng)沒有的問題授艰,為了解決這些問題又會引入更多的機(jī)制淮腾、協(xié)議谷朝,帶來更多的問題。体箕。累铅。(當(dāng)然娃兽,這里我的觀點(diǎn)是分布式包含的各種集群投储,個人見解)玛荞。
??分布式不僅僅是架構(gòu)上面的升級,也意味著挑戰(zhàn)的升級婴梧。