青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

Gossip算法

轉載自:http://blog.csdn.net/chen77716/article/details/6275762

Gossip算法因為Cassandra而名聲大噪,Gossip看似簡單,但要真正弄清楚其本質遠沒看起來那么容易。為了尋求Gossip的本質,下面的內容主要參考Gossip的原始論文:<<Efficient Reconciliation and Flow Control for Anti-Entropy Protocols>>。

 

1. Gossip背景

Gossip算法如其名,靈感來自辦公室八卦,只要一個人八卦一下,在有限的時間內所有的人都會知道該八卦的信息,這種方式也與病毒傳播類似,因此Gossip有眾多的別名“閑話算法”、“疫情傳播算法”、“病毒感染算法”、“謠言傳播算法”。

但Gossip并不是一個新東西,之前的泛洪查找、路由算法都歸屬于這個范疇,不同的是Gossip給這類算法提供了明確的語義、具體實施方法及收斂性證明。

2. Gossip特點

Gossip算法又被稱為反熵(Anti-Entropy),熵是物理學上的一個概念,代表雜亂無章,而反熵就是在雜亂無章中尋求一致,這充分說明了Gossip的特點:在一個有界網絡中,每個節點都隨機地與其他節點通信,經過一番雜亂無章的通信,最終所有節點的狀態都會達成一致。每個節點可能知道所有其他節點,也可能僅知道幾個鄰居節點,只要這些節可以通過網絡連通,最終他們的狀態都是一致的,當然這也是疫情傳播的特點。

要注意到的一點是,即使有的節點因宕機而重啟,有新節點加入,但經過一段時間后,這些節點的狀態也會與其他節點達成一致,也就是說,Gossip天然具有分布式容錯的優點。

3. Gossip本質

Gossip是一個帶冗余的容錯算法,更進一步,Gossip是一個最終一致性算法。雖然無法保證在某個時刻所有節點狀態一致,但可以保證在”最終“所有節點一致,”最終“是一個現實中存在,但理論上無法證明的時間點。

因為Gossip不要求節點知道所有其他節點,因此又具有去中心化的特點,節點之間完全對等,不需要任何的中心節點。實際上Gossip可以用于眾多能接受“最終一致性”的領域:失敗檢測、路由同步、Pub/Sub、動態負載均衡。

但Gossip的缺點也很明顯,冗余通信會對網路帶寬、CUP資源造成很大的負載,而這些負載又受限于通信頻率,該頻率又影響著算法收斂的速度,后面我們會講在各種場合下的優化方法。

4. Gossip節點的通信方式及收斂性

根據原論文,兩個節點(A、B)之間存在三種通信方式:

  • push: A節點將數據(key,value,version)及對應的版本號推送給B節點,B節點更新A中比自己新的數據
  • pull:A僅將數據key,version推送給B,B將本地比A新的數據(Key,value,version)推送給A,A更新本地
  • push/pull:與pull類似,只是多了一步,A再將本地比B新的數據推送給B,B更新本地

如果把兩個節點數據同步一次定義為一個周期,則在一個周期內,push需通信1次,pull需2次,push/pull則需3次,從效果上來講,push/pull最好,理論上一個周期內可以使兩個節點完全一致。直觀上也感覺,push/pull的收斂速度是最快的。

假設每個節點通信周期都能選擇(感染)一個新節點,則Gossip算法退化為一個二分查找過程,每個周期構成一個平衡二叉樹,收斂速度為O(n2 ),對應的時間開銷則為O(logn )。這也是Gossip理論上最優的收斂速度。但在實際情況中最優收斂速度是很難達到的,假設某個節點在第i個周期被感染的概率為pi ,第i+1個周期被感染的概率為pi+1 ,則pull的方式:

pull

而push為:

push

顯然pull的收斂速度大于push,而每個節點在每個周期被感染的概率都是固定的p(0<p<1),因此Gossip算法是基于p的平方收斂,也成為概率收斂,這在眾多的一致性算法中是非常獨特的。

個Gossip的節點的工作方式又分兩種:

  • Anti-Entropy(反熵):以固定的概率傳播所有的數據
  • Rumor-Mongering(謠言傳播):僅傳播新到達的數據

Anti-Entropy模式有完全的容錯性,但有較大的網絡、CPU負載;Rumor-Mongering模式有較小的網絡、CPU負載,但必須為數據定義”最新“的邊界,并且難以保證完全容錯,對失敗重啟且超過”最新“期限的節點,無法保證最終一致性,或需要引入額外的機制處理不一致性。我們后續著重討論Anti-Entropy模式的優化。

5. Anti-Entropy的協調機制

協調機制是討論在每次2個節點通信時,如何交換數據能達到最快的一致性,也即消除兩個節點的不一致性。上面所講的push、pull等是通信方式,協調是在通信方式下的數據交換機制。協調所面臨的最大問題是,因為受限于網絡負載,不可能每次都把一個節點上的數據發送給另外一個節點,也即每個Gossip的消息大小都有上限。在有限的空間上有效率地交換所有的消息是協調要解決的主要問題。

在討論之前先聲明幾個概念:

  • 令N = {p,q,s,...}為需要gossip通信的server集合,有界大小
  • 令(p1,p2,...)是宿主在節點p上的數據,其中數據有(key,value,version)構成,q的規則與p類似。

為了保證一致性,規定數據的value及version只有宿主節點才能修改,其他節點只能間接通過Gossip協議來請求數據對應的宿主節點修改。

5.1 精確協調(Precise Reconciliation)

精確協調希望在每次通信周期內都非常準確地消除雙方的不一致性,具體表現為相互發送對方需要更新的數據,因為每個節點都在并發與多個節點通信,理論上精確協調很難做到。精確協調需要給每個數據項獨立地維護自己的version,在每次交互是把所有的(key,value,version)發送到目標進行比對,從而找出雙方不同之處從而更新。但因為Gossip消息存在大小限制,因此每次選擇發送哪些數據就成了問題。當然可以隨機選擇一部分數據,也可確定性的選擇數據。對確定性的選擇而言,可以有最老優先(根據版本)和最新優先兩種,最老優先會優先更新版本最新的數據,而最新更新正好相反,這樣會造成老數據始終得不到機會更新,也即饑餓。

當然,開發這也可根據業務場景構造自己的選擇算法,但始終都無法避免消息量過多的問題。

5.2 整體協調(Scuttlebutt Reconciliation)

整體協調與精確協調不同之處是,整體協調不是為每個數據都維護單獨的版本號,而是為每個節點上的宿主數據維護統一的version。比如節點P會為(p1,p2,...)維護一個一致的全局version,相當于把所有的宿主數據看作一個整體,當與其他節點進行比較時,只需必須這些宿主數據的最高version,如果最高version相同說明這部分數據全部一致,否則再進行精確協調。

整體協調對數據的選擇也有兩種方法:

  • 廣度優先:根據整體version大小排序,也稱為公平選擇
  • 深度優先:根據包含數據多少的排序,也稱為非公平選擇。因為后者更有實用價值,所以原論文更鼓勵后者

6. Cassandra中的實現

經過驗證,Cassandra實現了基于整體協調的push/push模式,有幾個組件:

三條消息分別對應push/pull的三個階段:

  • GossipDigitsMessage
  • GossipDigitsAckMessage
  • GossipDigitsAck2Message

還有三種狀態:

  • EndpointState:維護宿主數據的全局version,并封裝了HeartBeat和ApplicationState
  • HeartBeat:心跳信息
  • ApplicationState:系統負載信息(磁盤使用率)

Cassandra主要是使用Gossip完成三方面的功能:

  • 失敗檢測
  • 動態負載均衡
  • 去中心化的彈性擴展

7. 總結

Gossip是一種去中心化、容錯而又最終一致性的絕妙算法,其收斂性不但得到證明還具有指數級的收斂速度。使用Gossip的系統可以很容易的把Server擴展到更多的節點,滿足彈性擴展輕而易舉。

唯一的缺點是收斂是最終一致性,不使用那些強一致性的場景,比如2pc。

posted on 2015-10-01 18:42 楊粼波 閱讀(601) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产综合av| 国产在线视频欧美一区二区三区| 欧美日韩亚洲一区二区三区在线观看 | 亚洲电影免费观看高清完整版| 亚洲一区在线观看免费观看电影高清| 蜜臀a∨国产成人精品| 亚洲欧美中文日韩v在线观看| 欧美少妇一区二区| 91久久久久久久久久久久久| 久久一区二区三区超碰国产精品| 午夜精品国产| 极品少妇一区二区三区精品视频 | 狠狠干狠狠久久| 久久精品视频在线观看| 午夜在线成人av| 国产欧美精品久久| 一区二区三区 在线观看视频| 亚洲国产天堂久久综合网| 欧美不卡在线视频| 亚洲精品在线电影| 一区二区激情小说| 国产精品免费电影| 久久精品在线视频| 久久久久久网站| 香蕉久久夜色精品国产使用方法| 99精品欧美| 欧美日韩一区高清| 亚洲女优在线| 日韩亚洲国产欧美| 欧美午夜精品一区| 欧美亚洲免费在线| 欧美在线观看视频一区二区| 精品88久久久久88久久久| 欧美黄色网络| 欧美视频国产精品| 久久久国产精品一区二区三区| 亚洲一区网站| 在线激情影院一区| 99精品国产99久久久久久福利| 国产精品国产三级国产专区53 | 亚洲精品在线视频观看| 国产精品久久久久高潮| 久久久久久久波多野高潮日日| 另类专区欧美制服同性| 99天天综合性| 亚洲一区bb| 亚洲国产精品99久久久久久久久| 亚洲国产精品一区二区www在线| 欧美11—12娇小xxxx| 亚洲亚洲精品三区日韩精品在线视频 | 久久激情视频| 日韩一级欧洲| 欧美在线播放一区二区| 亚洲视频axxx| 美女黄网久久| 亚洲精品自在在线观看| 欧美在线免费视频| 亚洲欧美成人精品| 欧美激情精品久久久六区热门 | 欧美亚韩一区| 免费精品视频| 国产亚洲一区二区在线观看| 亚洲精品无人区| 亚洲国产精品一区| 中文在线一区| 亚洲深夜av| 欧美成人一区二区三区在线观看 | 国产有码一区二区| 欧美日韩国产一区二区| 99re热精品| 久久午夜电影| 欧美在线日韩| 欧美视频中文在线看 | 欧美日韩国产系列| 欧美成人精品h版在线观看| 国产精品永久免费| 亚洲精品久久久久久一区二区| 永久免费精品影视网站| 久久gogo国模裸体人体| 欧美亚洲日本网站| 国产精品美女久久久浪潮软件| 日韩午夜在线播放| 一区二区三区高清视频在线观看 | 午夜精品久久久久久久| 欧美日韩中文另类| 国产精品99久久久久久久久| 亚洲黑丝一区二区| 美女精品网站| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲欧洲日本mm| 欧美日韩一级黄| 亚洲一区二区在线看| 久久在线观看视频| 亚洲美女av在线播放| 国产精品视频久久久| 久久精品99| 亚洲第一在线| 午夜一级久久| 亚洲黄色毛片| 国产精品亚洲激情| 免费国产自线拍一欧美视频| 一区二区三区四区蜜桃| 久久永久免费| 亚洲欧美成aⅴ人在线观看| 激情偷拍久久| 国产精品久久久久久av下载红粉 | 亚洲国产精品成人一区二区| 欧美日韩精品系列| 久久久久国产精品厨房| 99国产精品99久久久久久粉嫩| 久久精品亚洲国产奇米99| 99国内精品久久| 国语自产偷拍精品视频偷| 欧美日韩亚洲国产精品| 久久美女性网| 亚洲综合激情| 99精品欧美一区二区三区| 美女免费视频一区| 久久国产精品电影| 在线一区二区三区做爰视频网站| 精品成人免费| 国产欧美一区二区精品秋霞影院| 欧美精品一区二区在线播放| 久久久久久色| 久久成人综合视频| 午夜久久久久| 亚洲免费视频观看| 亚洲视频久久| 99re6这里只有精品| 亚洲国产精品一区二区www在线| 久久婷婷国产综合国色天香| 欧美亚洲一级片| 亚洲在线成人| 亚洲综合色在线| 亚洲视频在线一区观看| 99在线|亚洲一区二区| 亚洲精品在线观看视频| 亚洲国产精品一区二区第四页av| 国产一区二区三区免费在线观看| 国产精品美女诱惑| 国产精品夜夜嗨| 国产精品羞羞答答| 国产欧美日韩一区二区三区在线| 国产精品久久久久99| 国产精品高清在线观看| 国产精品a级| 国产伦精品一区| 国产视频精品xxxx| 国内外成人免费视频 | 欧美成人一区二区在线 | 久久国产精品一区二区三区四区| 亚洲综合清纯丝袜自拍| 亚洲在线播放| 欧美亚洲一级| 久久一区国产| 欧美久久久久久蜜桃| 欧美日韩免费精品| 国产精品美女久久久久久免费| 国产精品午夜国产小视频| 国产亚洲aⅴaaaaaa毛片| 国内精品久久久久久| 亚洲福利视频一区| 亚洲最快最全在线视频| 亚洲欧美区自拍先锋| 久久精品九九| 亚洲第一在线综合网站| 在线综合亚洲欧美在线视频| 午夜久久一区| 欧美国产日韩亚洲一区| 国产精品毛片| 18成人免费观看视频| 一本色道婷婷久久欧美| 欧美在线视频日韩| 亚洲电影免费观看高清完整版在线观看 | 午夜精品久久久久久久男人的天堂| 西瓜成人精品人成网站| 麻豆久久婷婷| 国产精品嫩草99a| 亚洲国产精品久久人人爱蜜臀| 艳女tv在线观看国产一区| 久久国产欧美| 亚洲精品久久久久中文字幕欢迎你 | 亚洲国产成人高清精品| 亚洲一区国产一区| 狂野欧美激情性xxxx| 国产精品theporn88| 在线观看视频一区| 午夜一区在线| 亚洲欧洲精品一区二区三区波多野1战4| 一区二区欧美精品| 久久亚洲精品视频| 国产精品亚洲综合久久| 99re6热只有精品免费观看| 久久久久久9999| 在线一区欧美| 女人香蕉久久**毛片精品| 国产午夜精品福利| 亚洲一区二区综合| 亚洲国产婷婷综合在线精品 | 欧美黄色精品|