精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Dynamo的實現技術和去中心化

開發 前端 開發工具
Amazon Dynamo是分布式的key-value系統,最近閱讀了Dynamo最初的論文《Dynamo: Amazon's Highly Available Key-value Store》,本文想聊一聊它的去中心化(decentralization)。既有閱讀相關材料后對其實現的理解,也有自己的思考,其中如有不正確言論歡迎指出。

Amazon Dynamo是分布式的key-value系統,最近閱讀了Dynamo最初的論文《Dynamo: Amazon's Highly Available Key-value Store》,本文想聊一聊它的去中心化(decentralization)。既有閱讀相關材料后對其實現的理解,也有自己的思考,其中如有不正確言論歡迎指出。

中心節點

通常,我們見到的分布式存儲結構都是具備中心(總控)節點的,比如Google File System(GFS),包括了中心的Master和數據節點Chunck Server;再比如HDFS,包括了中心的Name Node和數據節點Data Node。下面就以這兩者為例來說明設置中心節點遇到的問題和解決。

中心節點通常包含了存儲單元的分布信息,存儲內容的元信息,“一致性”是分布式系統的核心內容,而在處理一致性問題上,引入中心節點可以帶來莫大的好處,但是,也容易引發問題:

  • 單點故障:這個問題的解決主要靠熱備,比如GFS就靠Shadow Master。而HDFS情況比較復雜,在Hadoop 2.0以前靠的是Secondary NameNode,它不是真正的HA(High Availability),它只是階段性的合并edits和fsimage,以縮短集群啟動的時間,因此在Name Node出問題的時候,它既不能保證立即提供服務,也不能保證數據的完整性;現在HDFS為保證Name Node的HA,做法就很多了,包括了(1)shared image或者是(2)data replication的方法,這篇文章有系統的介紹

Dynamo的實現技術和去中心化

(上圖來自《HDFS HA: 高可靠性分布式存儲系統解決方案的歷史演進》)

  • 擴展性,我們可以按照這樣的思路來解決這個問題:
    • 中心節點包括了兩個基本職責,一個是文件系統的維護,它需要知道每個數據節點上的哪塊空間存放了哪些數據;還有一個是對于數據請求的調度。這兩個是可以拆開來的。
    • 把單Master變成Multi-master,Master之間可以用不同的方式實現數據同步,這個方法的好處在于Master的水平擴展變得容易,問題還是在于一致性,如果不同的Master要操縱同一個數據節點上同一片數據,需要有專門的方式來處理沖突。
    • 對于元文件信息量較大時會比較麻煩,比如HDFS上都是小文件,文件數量眾多,存儲效率低(這是HDFS不適宜的一個使用例子,在這篇文章里面我提到過),Name Node的內存消耗大。要么就不要這么用,GFS就比較適用于存放大文件;要么就從存儲架構上解決,軟件系統一個通用的辦法是引入新的一個層,比如在Name Node和Data Node之間引入一個區域自治的層,這一層每一個節點分別自治管理一部分Data Node,而都從屬于Name Node。

有趣的是,整個互聯網就可以看做是一個巨大的分布式系統,經過了實踐檢驗,我們可以認為它的的確確是去中心化的,但它也并不是每個維度都“去中心”,比如域名服務器,***域名服務器就是一個中心節點。因此如果僅僅是為了分布式,而粗暴地把中心節點去掉不是明智的,當然,Dynamo做了嘗試,下面我列出了一些去掉中心節點后帶來的問題,和它的解決辦法。

Dynamo的去中心化

在上面提到了的Dynamo 2007年的論文中,就直白地強調了去中心化是Dynamo設計的一條重要原則:

Decentralization: An extension of symmetry, the design should favor decentralized peer-to-peer techniques over centralized control. In the past, centralized control has resulted in outages and the goal is to avoid it as much as possible. This leads to a simpler, more scalable, and more available system.

Dynamo的設計者已經意識到了中心化系統帶來的問題,包括服務中斷,因此要盡可能避免。其它還包括的設計原則有:

  • Incremental scalability,增量擴展,減少對系統的影響;
  • Symmetry,對稱性,節點之間都是對等的;
  • Heterogeneity,多相性(不知道怎么翻譯更好),系統的擴展性可以按不同的比例落實到不同類型和能力的硬件上面去。

下圖來自該論文,列出了遇到的問題和解決問題采用的技術,這是Dynamo設計的核心,而其中的大部分問題都是和去中心化相關的:

Dynamo的實現技術和去中心化

下面逐條敘述:

Partioning

采用一致性HashConsistent Hashing)來解決節點增加和水平擴展的問題,帶來的好處和設計原則中的增量擴展是一致的。它本身已經不是一個新話題了,介紹它的材料互聯網上有很多,在此不贅述。Dynamo的實現上有兩點特別需要指出:

  • 每一臺物理設備都根據不同的能力折合成不同數量的虛擬節點數目;
  • 每份數據都被映射到整個hash環上面的多個節點,從而形成replication,保證可用性。

High availablity for writes

采用向量時鐘(Vector Clock)來處理一致性問題,向量時鐘實際上是一個(node,counter)對的列表,如下圖:

Dynamo的實現技術和去中心化

D1寫入,發生在節點Sx,形成向量時鐘[Sx,1],Sx又發生一次寫,于是counter增加1,變成了[Sx,2],之后基于它發生了D3和D4兩次寫入,于是出現了兩個版本,([Sx,2],[Sy,1])和([Sx,2],[Sz,1]),在D5的時候協調,協調成Sy先于Sz發生,counter再加1。這里的協調有兩種方式:

  • last write wins,依賴于節點時鐘,但是時鐘之間無法做到絕對一致
  • 客戶端來決定

Handling temporary failures

Sloppy Quorum:草率的法定人數(這個不知道如何翻譯),這里有一個有名的NWR機制,其中:

  • N表示復制的數據備份數量,
  • W表示同步確認成功的寫操作的副本數(剩下N-W的寫操作是異步進行的),
  • R表示同步確認成功的讀操作的副本數(每次讀通過比較前面提到的向量時鐘/版本號來確定有效的副本)。

當W+R>N的時候,可以保證強一致性,對于這個定理,分類舉例說明如下:

  • 如果W<R,例如W=1,R=2,N=2,那么兩份數據拷貝中,有一份同步寫(有效數據),一份異步寫(可能暫時無效),而有兩份同步讀,所以肯定能讀到一份有效的數據;
  • 如果W=R,例如W=1,R=1,N=1,這是最簡單的“單庫模式”,沒有異步寫;
  • 如果W>R,例如W=2,R=1,N=2,兩份寫入都是同步寫,因此讀任意一份數據都是有效的。

通過協調N、W、R之間的值,就可以在一致性和可用性之間做tradeoff(CAP理論中P是無法犧牲的,而C和A是可以取舍的),因為W或R是同步的,因此基本上W或R的值越大,Availability就越差。

Hinted Handoff:暗示的轉交,如果寫操作過程中節點A暫時不可用,可以自動將
該節點上的副本轉交到別的節點去,這是為了保證副本總數不減少。而這個轉交的數據會設置一個暗示的標記,等到節點A恢復了,會被重新轉交回A。

Recovering from permanent failures

使用Merkle Tree的反熵(anti-entropy)。Merkle是這樣一種數據結構,非葉子節點提供了多層Hash的功能:

Dynamo的實現技術和去中心化

反熵協議是用來幫助副本之間的同步的,使用Merkle的主要優點是每個分支可以獨立地檢查,而不需要下載整個樹或整個數據集。

Membership and failure detection

基于Gossip的成員協議(membership protocol)和故障檢測。Gossip協議本身就是為了去中心化而設計的,雖然無法保證在某個時刻所有節點狀態一致,但可以保證在某個最終的時刻一致。成員協議用于在hash環上增加或減去節點。

關于Dynamo的吐槽

對于Dynamo的去中心化,實在是功過兼備,畢竟引入了上面介紹的一堆復雜的機制,尤其對于數據的一致性問題,更是爭議不小。使用一個Master節點,丟失了中心化,但是一致性的問題就容易解決得多,系統也會更簡單;退一步說,如果要去中心化,但是使用Paxos這樣的協議,來選舉一個“Master”出來,那也能比較簡潔地保證一致性。但是Dynamo***的實現,讓用戶來解決沖突的做法(有時候用戶也沒法確定該用哪個版本),確實有些別扭;而采用絕對時間來解決沖突的方法,則是在機制上有天生的缺陷(時間無法做到絕對同步)。

網上曾經有一篇很火的吐槽《Dynamo: A flawed architecture – Part 1》,抱怨了一些Dynamo的問題,新浪的Tim Yang寫了一篇文章簡單翻譯了一下,我就不再贅述,大致上抱怨的問題包括:

  1. 一致性方面,Dynamo沒有辦法保證避免臟讀;
  2. Quorum機制中只是R+W>N在遇到節點不可用的時候,并不能保證強一致性;
  3. Hinted Handoff機制在跨IDC的情況下,會因為異地傳輸開銷而性能低下;
  4. 災難恢復方面,某一個IDC掛掉的時候,沒人可以計算到底丟了多少數據;
  5. 論文里面一些自相矛盾的地方,一個是對節點對等的描述,一個是對最終一致的描述;
  6. Dynamo給用戶造成了誤導,以為一直是在CAP的C和A中必須做一個取舍,其實單節點中心就可以同時做到CA;
  7. Dynamo宣稱去中心化,但是并沒有完全做到,比如交換機故障造成網絡分片的時候,服務就不可用了。

這篇文章的標題寫著part 1,只可惜part 2沒有出現。這篇文章引起了不少爭議,作者后來自己寫了一篇《Dynamo – Part I: a followup and re-rebuttals》來回應,文章結尾總結了一下他對Dynamo的觀點:

  • 盡量去避免臟讀;
  • 不受控的臟讀任何時候都不可接受,即便在災難發生的時候——就算數據丟失也比它要好得多,大多數情況下,管理員會關閉部分或者全部的服務,而不是去用丟失或者損壞的數據來響應用戶
  • 一個數據中心內的網絡分片要避免,在一個數據中心內考慮P(partition tolerance)是不合理的;
  • 中心化并不意味著低Availability,高可用的服務是可能的,雖然說scalability可能會成為問題;
  • 開發設計的對稱性并不能很好適應硬件和網絡的非對稱性;
  • 數據中心一致性、高可用性和擴展性是可以同時達到的,只要在一個數據中心里面(也就是說P被放棄的時候),BigTable+GFS,HBase+HDFS,甚至Oracle RAC都是很好的例子;
  • Dynamo的讀寫即便在一個數據中心內也會引起臟讀;
  • 誰也不知道臟讀避免的時間邊界在哪里;
  • 跨數據中心的情況下,沒法跟蹤有多少數據待更新,而災難恢復的時候,也沒法知道有多少數據丟失。

淘寶日照博客中的一篇文章,也談到了Dynamo設計上的一些問題,特別是對于一致性和分區容忍性上面精彩的吐槽,推薦閱讀。

原文鏈接:http://www.raychase.net/2396

責任編輯:林師授
相關推薦

2023-04-07 15:33:09

2024-08-02 14:56:00

2018-07-12 15:17:39

區塊鏈數字貨幣比特幣

2023-10-30 08:00:00

區塊鏈去中心化

2023-07-06 09:02:36

2021-02-24 10:02:19

存儲云存儲去中心化存儲

2017-12-25 23:51:24

去中心化交易區塊鏈

2023-08-24 16:23:09

2018-11-12 12:53:15

2022-04-26 23:33:33

區塊鏈去中心化數據結構

2010-08-20 09:50:53

數據中心虛擬化

2019-12-04 09:00:00

星際文件系統區塊鏈去中心化

2021-02-05 10:03:31

區塊鏈技術智能

2022-01-11 14:05:01

區塊鏈技術數據

2021-03-08 14:39:53

區塊鏈加密貨幣金融

2020-03-02 18:14:52

區塊鏈未來存儲

2018-03-13 12:40:21

區塊鏈去中心化互聯網

2023-09-07 09:00:00

數據網格數據驅動

2010-09-25 14:59:30

數據中心虛擬化

2018-03-09 11:08:31

點贊
收藏

51CTO技術棧公眾號

日本成年人网址| 国产精品久久久久久网站 | av日韩亚洲| 国产午夜精品一区二区三区嫩草 | 高潮毛片又色又爽免费| 999国产精品999久久久久久| 日韩一区二区在线免费观看| a在线视频观看| 91高清在线| 成人午夜免费视频| 国产成人中文字幕| 欧美另类视频在线观看| 蜜桃成人av| 日韩精品资源二区在线| 成熟老妇女视频| 日韩伦理在线观看| 97久久精品人人做人人爽50路| 国产精品爽爽爽| 国产精品7777777| 99久久久久国产精品| 亚洲精品福利资源站| 五月花丁香婷婷| 日产福利视频在线观看| 亚洲欧美在线高清| 日本欧洲国产一区二区| 北条麻妃一二三区| 蜜臀国产一区二区三区在线播放| 久久久伊人日本| 婷婷激情四射网| 精品国产a一区二区三区v免费| 欧美哺乳videos| 亚洲天堂国产视频| 日韩电影免费观看高清完整版| 亚洲最快最全在线视频| 一区二区三区国| 国产小视频在线播放| 成人a免费在线看| 亚洲va电影大全| 亚洲综合免费视频| 日韩精品一级中文字幕精品视频免费观看 | 国产精品美女久久久免费 | 九义人在线观看完整免费版电视剧| www.欧美亚洲| 国产精品v欧美精品v日韩| 国产熟女一区二区丰满| 久久 天天综合| 国产日韩在线视频| 在线视频免费观看一区| 蜜臀久久久99精品久久久久久| 欧美一区二区三区图| 91浏览器在线观看| 国产精品嫩草99av在线| 97热精品视频官网| 九九热在线免费观看| 亚洲精品激情| 欧美综合一区第一页| 91视频免费网址| 香蕉av777xxx色综合一区| 2019中文字幕在线观看| 午夜影院免费在线观看| 久久蜜桃资源一区二区老牛| 国产91在线播放九色快色| 日本久久综合网| 青青国产91久久久久久 | 大桥未久女教师av一区二区| 欧美成人aa大片| 99久久人妻精品免费二区| 欧美高清视频看片在线观看| 精品国产乱子伦一区| 国产艳妇疯狂做爰视频| 日韩中文在线| 亚洲精品videossex少妇| 荫蒂被男人添免费视频| 美女一区二区在线观看| 亚洲第一页在线| 性活交片大全免费看| 国内精品麻豆美女在线播放视频 | 亚洲主播在线观看| 久操手机在线视频| 69sex久久精品国产麻豆| www.av麻豆| 99精品国产在热久久婷婷| 久久久久久久成人| 日产欧产va高清| 国产亚洲福利| 国产精品99导航| 男人天堂视频网| 国产在线麻豆精品观看| 成人免费观看网站| 日本精品久久久久| 久久网这里都是精品| 日本一区二区三区视频在线播放| 加勒比一区二区三区在线| 欧美激情一区二区三区蜜桃视频 | 亚洲欧美国产高清| 这里只有精品66| 最近中文字幕免费mv2018在线| 一区二区在线观看不卡| 黄色大片在线免费看| 澳门成人av网| 69堂国产成人免费视频| 69xxx免费视频| 国产精品一区二区av交换| 日韩亚洲欧美成人| 精品在线免费观看视频| 日韩高清电影一区| 97久草视频| 色网站在线免费观看| av免费不卡国产观看| 午夜在线播放视频欧美| 国产精品久久久久久久久男| 国产精品一区二区av白丝下载 | 国产3p在线播放| 日韩成人在线观看视频| 亚洲第一黄色网| 人妻无码一区二区三区免费| 亚洲第一网站| 国产成人97精品免费看片| 精品毛片在线观看| 国产欧美一区视频| 隔壁人妻偷人bd中字| 欧美日韩视频免费观看| 欧美精品一区二区三区一线天视频 | 国产精品久久久久久久久男 | 粉嫩av一区二区三区粉嫩| 色女孩综合网| 绿色成人影院| 日韩亚洲欧美成人一区| 无码人妻精品一区二区中文| 精品成人国产| 亚洲va男人天堂| 1769在线观看| 亚洲成人福利片| 中国特级黄色大片| 亚洲高清影视| 国产精品自产拍高潮在线观看| 欧美熟妇另类久久久久久不卡| 国产精品久久三| 欧美亚洲国产成人| 粉嫩久久久久久久极品| 美日韩精品免费视频| 日本视频www色| 久久一日本道色综合| 成人免费在线网| 日韩激情欧美| 久久天堂电影网| 日本视频www色| 99久久精品免费| 女人和拘做爰正片视频| 91午夜精品| 欧美成人高清视频| 国产欧美日韩成人| 国产精品久久三| 中文av一区二区三区| 激情五月综合| 国产高清视频一区三区| 黑人乱码一区二区三区av| 亚洲最大成人综合| 不许穿内裤随时挨c调教h苏绵| 色男人天堂综合再现| 国产精品久久久久福利| 男操女在线观看| 欧美日韩中文在线| 亚洲国产精品无码久久久久高潮| 午夜精品婷婷| 粉嫩高清一区二区三区精品视频 | 电影亚洲精品噜噜在线观看| 亚洲免费高清视频| 无码人妻丰满熟妇精品| 久久久不卡网国产精品一区| 日日碰狠狠丁香久燥| 国产精品入口久久| 国产精品av电影| 在线观看a视频| 91精品办公室少妇高潮对白| 日韩av片在线免费观看| 狠狠色丁香婷婷综合| 男女激烈动态图| 超碰97久久国产精品牛牛| 久久久久日韩精品久久久男男| 好吊色视频一区二区| 午夜精品福利一区二区三区av| 老司机免费视频| 久久精品人人| 国产精品久久久影院| av在线亚洲色图| 2019中文字幕免费视频| 成年网站在线| 日韩一本二本av| 九九热在线免费观看| 国产日韩av一区| 91丨九色丨蝌蚪| 中文字幕一区二区三区乱码图片 | 色综合中文网| 国产一区欧美二区三区| 四虎影视成人| 亚洲精品在线看| 国产精品伦一区二区三区| 中文字幕av在线一区二区三区| 中文av一区二区三区| 伊人激情综合| 色涩成人影视在线播放| 久久av网站| 2019中文字幕在线| 日本中文字幕在线2020| 亚洲高清色综合| 中文字幕在线网址| 欧美日韩国产一区二区三区| 久久精品国产亚洲AV成人婷婷| 国产福利91精品| 国产91对白刺激露脸在线观看| 日韩免费av| 国产一区二区三区四区五区加勒比| 四虎4545www精品视频| 美女av一区二区三区| 久色视频在线| 在线91免费看| 中文字幕精品视频在线观看| 亚洲美女精品一区| 三级网站在线免费观看| 国产麻豆视频一区| 午夜激情在线观看视频| 国产综合色产| 在线电影看在线一区二区三区| 红杏aⅴ成人免费视频| 成人精品网站在线观看| 欧美7777| 久久久视频在线| 成人在线观看免费网站| 中文综合在线观看| 午夜小视频免费| 日韩色在线观看| 中文字幕91爱爱| 日韩欧美中文在线| 免费一级片视频| 亚洲欧美在线视频观看| 日本免费福利视频| 91麻豆国产福利在线观看| 四虎国产精品免费| 亚洲精品777| 亚洲欧美日本在线| 中文字幕av久久爽一区| www国产亚洲精品久久麻豆| 日本亚洲一区二区三区| 久久国产免费看| 欧美精品第三页| 校园激情久久| 国产乱子伦农村叉叉叉| 在线亚洲精品| 日韩精品一区在线视频| 一区二区三区在线电影| 影音先锋欧美资源| 日韩一区二区在线| 天堂√在线观看一区二区| 136福利精品导航| 国产欧美一区二区视频| jazzjazz国产精品麻豆| 成人在线免费网站| 日本在线一区二区三区| 91日韩久久| 亚洲日本视频在线| 99久久免费国| 亚洲春色h网| 日本欧洲国产一区二区| 欧美日韩在线播放视频| 欧美日本亚洲| 成人在线丰满少妇av| 久久精品日韩| 国产一区二区三区不卡视频网站| 久久66热这里只有精品| 日本欧美三级| 欧美高清视频一区| 国产一卡不卡| 五月天男人天堂| 亚洲成人tv| 黄色一级大片免费| 亚洲激情社区| 国产96在线 | 亚洲| 日韩经典中文字幕一区| 中文久久久久久| 国模娜娜一区二区三区| 成人高清在线观看视频| 成人av在线电影| 97人妻天天摸天天爽天天| 中文字幕+乱码+中文字幕一区| fc2ppv在线播放| 一区二区三区免费观看| 国产乡下妇女做爰| 一本一道波多野结衣一区二区| а中文在线天堂| 国产va在线视频| 国产成人综合av| 美国十次综合久久| 国语精品免费视频| 精品久久久久久久| 国产一二三四五| 在线看片一区| 男人午夜视频在线观看| www.日韩av| 精品手机在线视频| 性久久久久久久久久久久| 成人一二三四区| 日韩免费一区二区| 午夜视频在线| 97视频在线观看网址| av在线不卡精品| 国产精品二区在线| 国产一区二区在线| 丰满女人性猛交| 日日噜噜夜夜狠狠视频欧美人| www.污网站| 久久蜜桃av一区精品变态类天堂| 999精品在线视频| 欧美日韩久久久久| 在线播放成人av| 亚洲欧美制服丝袜| 天堂8中文在线| 国产精品永久免费观看| 久久影视三级福利片| 亚洲综合首页| 中文日韩欧美| 中文字幕免费高清视频| 亚洲特黄一级片| 久草手机在线视频| 日韩午夜激情视频| 国产成人天天5g影院在线观看| 97精品国产91久久久久久| 日韩午夜电影免费看| 免费试看一区| 在线成人h网| 五月天婷婷在线观看视频| 久久久久久久免费视频了| 日韩伦理在线视频| 日韩午夜电影免费看| 爱情岛论坛亚洲入口| 欧美激情黄色片| 大j8黑人w巨大888a片| 懂色av中文字幕一区二区三区| 欧美aaa级片| 一本高清dvd不卡在线观看| 欧美在线 | 亚洲| 欧美老妇交乱视频| 台湾佬成人网| 精品视频导航| 亚洲无线视频| 欧美老女人bb| 亚洲精选视频免费看| 亚洲综合精品国产一区二区三区| 亚洲人av在线影院| a一区二区三区| 蜜桃91精品入口| 午夜一区不卡| 97人妻天天摸天天爽天天| 日韩欧美国产网站| 性xxxfllreexxx少妇| 91精品国产高清| 精品三级在线观看视频| 成年人网站国产| 国产另类ts人妖一区二区| 无码人妻精品中文字幕 | 视频一区视频二区视频三区视频四区国产| 99热这里只有成人精品国产| 欧美图片自拍偷拍| 一区二区三区四区乱视频| www.黄色一片| 久久久爽爽爽美女图片| 91久久精品无嫩草影院| 蜜桃传媒一区二区三区| 91丨九色丨蝌蚪富婆spa| 91看片在线播放| 日韩精品高清视频| 美脚恋feet久草欧美| 日本精品一区二区三区不卡无字幕| 美女视频一区免费观看| 自拍偷拍视频亚洲| 欧美丝袜自拍制服另类| 欧美一级二级三级区| 国产一区香蕉久久| 1024精品一区二区三区| 久久亚洲AV成人无码国产野外| 色av一区二区| 日本激情视频在线观看| 91中文字幕一区| 国产婷婷精品| 一级片视频免费看| 欧美精品久久久久久久多人混战| 国产精品实拍| av日韩免费电影| 久久一区视频| 日本黄色录像视频| 亚洲精品一区二区三区在线观看| 涩涩av在线| 日韩欧美亚洲区| 成人免费视频视频在线观看免费| 国产高清中文字幕| 爱福利视频一区| 日韩高清影视在线观看| 激情内射人妻1区2区3区| 亚洲天堂福利av| 天天插天天干天天操|