<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                >[info] 分布式通信協議 分布式中,最難解決的一個問題就是多個節點間數據同步問題。為了解決這樣的問題,涌現出了各種奇思妙想。只有在解決了如何進行信息同步的基礎之上才衍生出形形色色的應用。這里開始介紹幾種分布 式通信協議。 ***** * **paxos協議:** 說起paxos,需要稍微提提二段提交。簡單來說,二階段提交就是,一個節點詢問其他節點,我是不是 可以進行消息提交。如果收到所有人的同意,則告訴大家,開始提交吧。 ***** 這個協議在實際中并不能很好的解決分布式中信息同步問題。例如只要有節點失效,就會發生得不到所 有人同意的結果,在超時后,這一次提交失敗,等一系列問題。但是paxos在對二段提交進行了優化 后,得到了一個比較好的解決辦法。 ***** paxos協議引入了多數派,以及消息編號的概念。在1準備時,詢問2/n+1的參與者,要求他們保證不會 接受小于編號n的提交。如果得到了2/n+1的回復,則可以開始告訴2/n+1的參與者進行消息的提交。 ***** 可以明顯的看出,這就是對二段提交的一個優化版。就是這么一個比較巧妙的思想,解決了一些二階段提交帶來的問題 ***** * **Raft 協議** 發現主節點失蹤一段時間后,所有從節點向其它從節點發消息,讓他們選自己為新的主節點; ***** 還沒參加選舉的節點如果收到其他節點的選舉請求,就選舉自己收到的第一個節點,后面誰再請求自己 支持選舉,就告訴他們我已經支持另一個節點了; ***** 如果一個節點發現另一個節點得到的支持比自己多,也就開始無條件支持那個節點選舉,同時讓支持自 己的節點也去支持它 ***** 如果一輪沒選出來得到大多數節點支持的主節點,就開始下一輪選舉,直到一個節點得到了大部分節點 支持,成為新的主節點。 ***** * **gossip協議:** gossip協議是一個神奇的協議。它常用于P2P的通信協議,這個協議就是模擬人類中傳播謠言的行為而 來。 ***** 首先要傳播謠言就要有種子節點。種子節點每秒都會隨機向其他節點發送自己所擁有的節點列表,以及 需要傳播的消息。任何新加入的節點,就在這種傳播方式下很快地被全網所知道。 ***** 這個協議的神奇就在于它從設計開始就沒想到信息一定要傳遞給所有的節點,但是隨著時間的增長,在 最終的某一時刻,全網會得到相同的信息。當然這個時刻可能僅僅存在于理論,永遠不可達。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看