成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

互聯(lián)網(wǎng)架構(gòu)模板:“存儲(chǔ)層”技術(shù)

存儲(chǔ) 存儲(chǔ)軟件
拋開(kāi) BAT 各自差異很大的業(yè)務(wù),站在技術(shù)的角度來(lái)看,其實(shí) BAT 的技術(shù)架構(gòu)基本是一樣的。再將視角放大,你會(huì)發(fā)現(xiàn)整個(gè)互聯(lián)網(wǎng)行業(yè)的技術(shù)發(fā)展,最后都是殊途同歸。

 很多人對(duì)于 BAT 的技術(shù)有一種莫名的崇拜感,覺(jué)得只有天才才能做出這樣的系統(tǒng),但經(jīng)過(guò)前面對(duì)架構(gòu)的本質(zhì)、架構(gòu)的設(shè)計(jì)原則、架構(gòu)的設(shè)計(jì)模式、架構(gòu)演進(jìn)等多方位的探討和闡述,你可以看到,其實(shí)并沒(méi)有什么神秘的力量和魔力融合在技術(shù)里面,而是業(yè)務(wù)的不斷發(fā)展推動(dòng)了技術(shù)的發(fā)展,這樣一步一個(gè)腳印,持續(xù)幾年甚至十幾年的發(fā)展,才能達(dá)到當(dāng)前技術(shù)復(fù)雜度和先進(jìn)性。

[[284021]]

拋開(kāi) BAT 各自差異很大的業(yè)務(wù),站在技術(shù)的角度來(lái)看,其實(shí) BAT 的技術(shù)架構(gòu)基本是一樣的。再將視角放大,你會(huì)發(fā)現(xiàn)整個(gè)互聯(lián)網(wǎng)行業(yè)的技術(shù)發(fā)展,最后都是殊途同歸。

如果你正處于一個(gè)創(chuàng)業(yè)公司,或者正在為成為另一個(gè) BAT 拼搏,那么深入理解這種技術(shù)模式(或者叫技術(shù)結(jié)構(gòu)、技術(shù)架構(gòu)),對(duì)于自己和公司的發(fā)展都大有裨益。

互聯(lián)網(wǎng)的標(biāo)準(zhǔn)技術(shù)架構(gòu)如下圖所示,這張圖基本上涵蓋了互聯(lián)網(wǎng)技術(shù)公司的大部分技術(shù)點(diǎn),不同的公司只是在具體的技術(shù)實(shí)現(xiàn)上稍有差異,但不會(huì)跳出這個(gè)框架的范疇。

 

互聯(lián)網(wǎng)架構(gòu)模板:“存儲(chǔ)層”技術(shù)

 

從本期開(kāi)始,我將逐層介紹每個(gè)技術(shù)點(diǎn)的產(chǎn)生背景、應(yīng)用場(chǎng)景、關(guān)鍵技術(shù),有的技術(shù)點(diǎn)可能已經(jīng)在前面的架構(gòu)模式部分有所涉及,因此就不再詳細(xì)展開(kāi)技術(shù)細(xì)節(jié)了,而是將關(guān)鍵技術(shù)點(diǎn)分門別類,進(jìn)而形成一張架構(gòu)大圖,讓架構(gòu)師對(duì)一個(gè)公司的整體技術(shù)架構(gòu)有一個(gè)完整的全貌認(rèn)知。

今天我們首先來(lái)聊聊互聯(lián)網(wǎng)架構(gòu)模板的“存儲(chǔ)層”技術(shù)。

SQL

SQL 即我們通常所說(shuō)的關(guān)系數(shù)據(jù)。前幾年 NoSQL 火了一陣子,很多人都理解為 NoSQL 是完全拋棄關(guān)系數(shù)據(jù),全部采用非關(guān)系型數(shù)據(jù)。但經(jīng)過(guò)幾年的試驗(yàn)后,大家發(fā)現(xiàn)關(guān)系數(shù)據(jù)不可能完全被拋棄,NoSQL 不是 No SQL,而是 Not Only SQL,即 NoSQL 是 SQL 的補(bǔ)充。

所以互聯(lián)網(wǎng)行業(yè)也必須依賴關(guān)系數(shù)據(jù),考慮到 Oracle 太貴,還需要專人維護(hù),一般情況下互聯(lián)網(wǎng)行業(yè)都是用 MySQL、PostgreSQL 這類開(kāi)源數(shù)據(jù)庫(kù)。這類數(shù)據(jù)庫(kù)的特點(diǎn)是開(kāi)源免費(fèi),拿來(lái)就用;但缺點(diǎn)是性能相比商業(yè)數(shù)據(jù)庫(kù)要差一些。隨著互聯(lián)網(wǎng)業(yè)務(wù)的發(fā)展,性能要求越來(lái)越高,必然要面對(duì)一個(gè)問(wèn)題:將數(shù)據(jù)拆分到多個(gè)數(shù)據(jù)庫(kù)實(shí)例才能滿足業(yè)務(wù)的性能需求(其實(shí) Oracle 也一樣,只是時(shí)間早晚的問(wèn)題)。

數(shù)據(jù)庫(kù)拆分滿足了性能的要求,但帶來(lái)了復(fù)雜度的問(wèn)題:數(shù)據(jù)如何拆分、數(shù)據(jù)如何組合?這個(gè)復(fù)雜度的問(wèn)題解決起來(lái)并不容易,如果每個(gè)業(yè)務(wù)都去實(shí)現(xiàn)一遍,重復(fù)造輪子將導(dǎo)致投入浪費(fèi)、效率降低,業(yè)務(wù)開(kāi)發(fā)想快都快不起來(lái)。

所以互聯(lián)網(wǎng)公司流行的做法是業(yè)務(wù)發(fā)展到一定階段后,就會(huì)將這部分功能獨(dú)立成中間件,例如百度的 DBProxy、淘寶的 TDDL。不過(guò)這部分的技術(shù)要求很高,將分庫(kù)分表做到自動(dòng)化和平臺(tái)化,不是一件容易的事情,所以一般是規(guī)模很大的公司才會(huì)自己做。中小公司建議使用開(kāi)源方案,例如 MySQL 官方推薦的 MySQL Router、360 開(kāi)源的數(shù)據(jù)庫(kù)中間件 Atlas。

假如公司業(yè)務(wù)繼續(xù)發(fā)展,規(guī)模繼續(xù)擴(kuò)大,SQL 服務(wù)器越來(lái)越多,如果每個(gè)業(yè)務(wù)都基于統(tǒng)一的數(shù)據(jù)庫(kù)中間件獨(dú)立部署自己的 SQL 集群,就會(huì)導(dǎo)致新的復(fù)雜度問(wèn)題,具體表現(xiàn)在:

數(shù)據(jù)庫(kù)資源使用率不高,比較浪費(fèi)。

各 SQL 集群分開(kāi)維護(hù),投入的維護(hù)成本越來(lái)越高。

因此,實(shí)力雄厚的大公司此時(shí)一般都會(huì)在 SQL 集群上構(gòu)建 SQL 存儲(chǔ)平臺(tái),以對(duì)業(yè)務(wù)透明的形式提供資源分配、數(shù)據(jù)備份、遷移、容災(zāi)、讀寫分離、分庫(kù)分表等一系列服務(wù),例如淘寶的 UMP(Unified MySQL Platform)系統(tǒng)。

NoSQL

首先 NoSQL 在數(shù)據(jù)結(jié)構(gòu)上與傳統(tǒng)的 SQL 的不同,例如典型的 Memcache 的 key-value 結(jié)構(gòu)、Redis 的復(fù)雜數(shù)據(jù)結(jié)構(gòu)、MongoDB 的文檔數(shù)據(jù)結(jié)構(gòu);其次,NoSQL 無(wú)一例外地都會(huì)將性能作為自己的一大賣點(diǎn)。NoSQL 的這兩個(gè)特點(diǎn)很好地彌補(bǔ)了關(guān)系數(shù)據(jù)庫(kù)的不足,因此在互聯(lián)網(wǎng)行業(yè) NoSQL 的應(yīng)用基本上是基礎(chǔ)要求。

由于 NoSQL 方案一般自己本身就提供集群的功能,例如 Memcache 的一致性 Hash 集群、Redis 3.0 的集群,因此 NoSQL 在剛開(kāi)始應(yīng)用時(shí)很方便,不像 SQL 分庫(kù)分表那么復(fù)雜。一般公司也不會(huì)在開(kāi)始時(shí)就考慮將 NoSQL 包裝成存儲(chǔ)平臺(tái),但如果公司發(fā)展很快,例如 Memcache 的節(jié)點(diǎn)有上千甚至幾千時(shí),NoSQL 存儲(chǔ)平臺(tái)就很有意義了。首先是存儲(chǔ)平臺(tái)通過(guò)集中管理能夠大大提升運(yùn)維效率;其次是存儲(chǔ)平臺(tái)可以大大提升資源利用效率,2000 臺(tái)機(jī)器,如果利用率能提升 10%,就可以減少 200 臺(tái)機(jī)器,一年幾十萬(wàn)元就節(jié)省出來(lái)了。

所以,NoSQL 發(fā)展到一定規(guī)模后,通常都會(huì)在 NoSQL 集群的基礎(chǔ)之上再實(shí)現(xiàn)統(tǒng)一存儲(chǔ)平臺(tái),統(tǒng)一存儲(chǔ)平臺(tái)主要實(shí)現(xiàn)這幾個(gè)功能:

資源動(dòng)態(tài)按需動(dòng)態(tài)分配:例如同一臺(tái) Memcache 服務(wù)器,可以根據(jù)內(nèi)存利用率,分配給多個(gè)業(yè)務(wù)使用。

資源自動(dòng)化管理:例如新業(yè)務(wù)只需要申請(qǐng)多少 Memcache 緩存空間就可以了,無(wú)需關(guān)注具體是哪些 Memcache 服務(wù)器在為自己提供服務(wù)。

故障自動(dòng)化處理:例如某臺(tái) Memcache 服務(wù)器掛掉后,有另外一臺(tái)備份 Memcache 服務(wù)器能立刻接管緩存請(qǐng)求,不會(huì)導(dǎo)致丟失很多緩存數(shù)據(jù)。

當(dāng)然要發(fā)展到這個(gè)階段,一般也是大公司才會(huì)這么做,簡(jiǎn)單來(lái)說(shuō)就是如果只有幾十臺(tái) NoSQL 服務(wù)器,做存儲(chǔ)平臺(tái)收益不大;但如果有幾千臺(tái) NoSQL 服務(wù)器,NoSQL 存儲(chǔ)平臺(tái)就能夠產(chǎn)生很大的收益。

小文件存儲(chǔ)

除了關(guān)系型的業(yè)務(wù)數(shù)據(jù),互聯(lián)網(wǎng)行業(yè)還有很多用于展示的數(shù)據(jù)。例如,淘寶的商品圖片、商品描述;Facebook 的用戶圖片;新浪微博的一條微博內(nèi)容等。這些數(shù)據(jù)具有三個(gè)典型特征:一是數(shù)據(jù)小,一般在 1MB 以下;二是數(shù)量巨大,F(xiàn)acebook 在 2013 年每天上傳的照片就達(dá)到了 3.5 億張;三是訪問(wèn)量巨大,F(xiàn)acebook 每天的訪問(wèn)量超過(guò) 10 億。

由于互聯(lián)網(wǎng)行業(yè)基本上每個(gè)業(yè)務(wù)都會(huì)有大量的小數(shù)據(jù),如果每個(gè)業(yè)務(wù)都自己去考慮如何設(shè)計(jì)海量存儲(chǔ)和海量訪問(wèn),效率自然會(huì)低,重復(fù)造輪子也會(huì)投入浪費(fèi),所以自然而然就要將小文件存儲(chǔ)做成統(tǒng)一的和業(yè)務(wù)無(wú)關(guān)的平臺(tái)。

和 SQL 和 NoSQL 不同的是,小文件存儲(chǔ)不一定需要公司或者業(yè)務(wù)規(guī)模很大,基本上認(rèn)為業(yè)務(wù)在起步階段就可以考慮做小文件統(tǒng)一存儲(chǔ)。得益于開(kāi)源運(yùn)動(dòng)的發(fā)展和最近幾年大數(shù)據(jù)的火爆,在開(kāi)源方案的基礎(chǔ)上封裝一個(gè)小文件存儲(chǔ)平臺(tái)并不是太難的事情。例如,HBase、Hadoop、Hypertable、FastDFS 等都可以作為小文件存儲(chǔ)的底層平臺(tái),只需要將這些開(kāi)源方案再包裝一下基本上就可以用了。

典型的小文件存儲(chǔ)有:淘寶的 TFS、京東 JFS、Facebook 的 Haystack。

下圖是淘寶 TFS 的架構(gòu):

 

互聯(lián)網(wǎng)架構(gòu)模板:“存儲(chǔ)層”技術(shù)

 

大文件存儲(chǔ)

互聯(lián)網(wǎng)行業(yè)的大文件主要分為兩類:一類是業(yè)務(wù)上的大數(shù)據(jù),例如 Youtube 的視頻、電影網(wǎng)站的電影;另一類是海量的日志數(shù)據(jù),例如各種訪問(wèn)日志、操作日志、用戶軌跡日志等。和小文件的特點(diǎn)正好相反,大文件的數(shù)量沒(méi)有小文件那么多,但每個(gè)文件都很大,幾百 MB、幾個(gè) GB 都是常見(jiàn)的,幾十 GB、幾 TB 也是有可能的,因此在存儲(chǔ)上和小文件有較大差別,不能直接將小文件存儲(chǔ)系統(tǒng)拿來(lái)存儲(chǔ)大文件。

說(shuō)到大文件,特別要提到 Google 和 Yahoo,Google 的 3 篇大數(shù)據(jù)論文(Bigtable/Map- Reduce/GFS)開(kāi)啟了一個(gè)大數(shù)據(jù)的時(shí)代,而 Yahoo 開(kāi)源的 Hadoop 系列(HDFS、HBase 等),基本上壟斷了開(kāi)源界的大數(shù)據(jù)處理。當(dāng)然,江山代有才人出,長(zhǎng)江后浪推前浪,Hadoop 后又有更多優(yōu)秀的開(kāi)源方案被貢獻(xiàn)出來(lái),現(xiàn)在隨便走到大街上拉住一個(gè)程序員,如果他不知道大數(shù)據(jù),那基本上可以確定是“火星程序員”。

對(duì)照 Google 的論文構(gòu)建一套完整的大數(shù)據(jù)處理方案的難度和成本實(shí)在太高,而且開(kāi)源方案現(xiàn)在也很成熟了,所以大數(shù)據(jù)存儲(chǔ)和處理這塊反而是最簡(jiǎn)單的,因?yàn)槟銢](méi)有太多選擇,只能用這幾個(gè)流行的開(kāi)源方案,例如,Hadoop、HBase、Storm、Hive 等。實(shí)力雄厚一些的大公司會(huì)基于這些開(kāi)源方案,結(jié)合自己的業(yè)務(wù)特點(diǎn),封裝成大數(shù)據(jù)平臺(tái),例如淘寶的云梯系統(tǒng)、騰訊的 TDW 系統(tǒng)。

下面是 Hadoop 的生態(tài)圈:

 

互聯(lián)網(wǎng)架構(gòu)模板:“存儲(chǔ)層”技術(shù)

 

小結(jié)

今天我為你講了互聯(lián)網(wǎng)架構(gòu)模板中的存儲(chǔ)層技術(shù),可以看到當(dāng)公司規(guī)模發(fā)展到一定階段后,基本上都是基于某個(gè)開(kāi)源方案搭建統(tǒng)一的存儲(chǔ)平臺(tái),希望對(duì)你有所幫助。

這就是今天的全部?jī)?nèi)容,留一道思考題給你吧,既然存儲(chǔ)技術(shù)發(fā)展到最后都是存儲(chǔ)平臺(tái),為何沒(méi)有出現(xiàn)存儲(chǔ)平臺(tái)的開(kāi)源方案,但云計(jì)算卻都提供了存儲(chǔ)平臺(tái)方案?

歡迎你把答案寫到留言區(qū),和我一起討論。相信經(jīng)過(guò)深度思考的回答,也會(huì)讓你對(duì)知識(shí)的理解更加深刻。

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2024-05-13 11:43:26

開(kāi)發(fā)層服務(wù)層ActiveMQ

2019-12-31 10:08:35

架構(gòu)模式軟件

2017-12-26 15:52:31

MQ互聯(lián)網(wǎng)耦合

2019-04-10 14:10:02

高并發(fā)分布式系統(tǒng)架構(gòu)

2018-01-01 06:41:44

耦合互聯(lián)網(wǎng)架構(gòu)配置中心

2017-01-11 21:40:03

互聯(lián)網(wǎng)架構(gòu)高并發(fā)

2022-06-09 08:01:43

秒殺系統(tǒng)互聯(lián)網(wǎng)架構(gòu)

2016-09-22 15:01:59

微服務(wù)互聯(lián)網(wǎng)架構(gòu)

2019-03-18 07:08:53

高可用互聯(lián)網(wǎng)架構(gòu)分布式

2019-05-13 10:30:34

互聯(lián)網(wǎng)架構(gòu)容量

2016-12-06 11:56:13

互聯(lián)網(wǎng)架構(gòu)高可用

2016-09-22 15:55:39

互聯(lián)網(wǎng)架構(gòu)容量設(shè)計(jì)

2018-11-07 06:35:50

互聯(lián)網(wǎng)服務(wù)化高可用架構(gòu)

2017-10-27 14:52:31

互聯(lián)網(wǎng)高可用架構(gòu)高可用

2020-07-31 14:13:26

架構(gòu)互聯(lián)網(wǎng)

2023-12-05 10:33:15

工業(yè)互聯(lián)網(wǎng)互聯(lián)網(wǎng)平臺(tái)

2018-01-02 17:28:50

麥思博

2012-09-19 15:43:21

云時(shí)代

2019-12-26 07:39:36

互聯(lián)網(wǎng)架構(gòu)ip

2015-06-24 15:35:54

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日本精品久久久久 | 久久高潮 | www国产成人免费观看视频 | 精品久久久999 | 久久久久久久久久久福利观看 | 国产成人高清 | 国产精品一码二码三码在线 | 免费视频中文字幕 | 色啪网| 精品久久久久久久久久久 | 亚洲精品国产a久久久久久 午夜影院网站 | 成年人在线观看 | 亚洲色图综合 | 日韩中出| 亚洲欧洲小视频 | 最新中文字幕久久 | 久久精品91久久久久久再现 | 91电影在线播放 | 日韩中文字幕 | 久久av一区二区三区 | 国产一级视频在线播放 | 久久精品国产亚洲a | 国色天香综合网 | 天天操天天操 | 日韩www| 黄色大片在线免费观看 | 日韩成人一区 | 一区二区三区四区视频 | 国产成人精品一区二区三 | 国产精品久久久久一区二区三区 | 日本精品在线一区 | 欧洲精品码一区二区三区免费看 | 亚洲精品欧美精品 | 色狠狠一区 | 中文字幕亚洲欧美 | 99精品一区二区 | 国产丝袜一区二区三区免费视频 | 日韩欧美一区二区三区免费看 | 日韩欧美国产精品 | 欧美精品在欧美一区二区少妇 | 天天综合91 |