<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                以es為例, 講解腦裂 # 什么是腦裂 es 中每個主節點都會有幾個對應的副本節點,當這個主節點宕機,會從其他幾個從節點中選擇出從節點。 某個集群中由于網絡故障等原因導致形成了倆個網絡分區,沒有主節點所在的網絡分區中的從節點與主節點無法正常連接通信,但是和客戶端的連接是正常的。那么這個網絡分區中的從節點就會選舉出一個主節點,導致出現兩個主節點。 # 腦裂導致的數據丟失 雖然某個從節點被切換成了主節點,但是可能客戶端還沒來得及切換到新的主節點,還繼續往舊的主節點中寫數據。舊的主節點再次恢復的時候,會被作為一個從節點掛到新的主節點上去,自己的數據就會**被清空**,重新從主節點上面復制數據,導致后面那部分往舊主節點寫入的數據就丟失了。 # 腦裂解決方案 保證不出現腦裂問題,即可解決腦裂導致的數據丟失。 ## 全局過半 集群節點一般設置為 奇數 各個分區重新選舉,分區的某個節點大于集群機器數量的一半,即大于或等于一半(n/2+1),則被選擇為新的主節點。 zookeeper 就是這樣解決腦裂問題。(基于 Paxos 算法) 這種方案時如果各個分區中的集群數量無法滿足這個要求,則無法選舉導致集群不可用 如果出現大于一半的集群節點出現故障,則會導致所有節點不可用。(沒法選舉出主節點了) ### Raft算法 ## 租約機制(Lease) 授權者授予的在一段時間內的承諾,授權一旦發出,只要在期限內,一定會按承諾的時間和內容執行。哪怕別的節點都連接不上這個節點,租約也照常執行。 一旦發布,無法撤銷。如果主節點在到期前宕機了,租約依然有效,也就是會導致服務不可用,直到租約到期,選出新的主節點。這種方案是**犧牲可用性來保證一致性**。 一般設置租約為10s。授權租約一般是另外的機器。 時鐘誤差問題:授權機器和節點機器之間時鐘不同步,導致服務不可用。
                  <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>

                              哎呀哎呀视频在线观看