91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

用通俗易懂的方法解釋MongoDB的選舉機制

發布時間:2020-08-08 08:56:11 來源:ITPUB博客 閱讀:213 作者:chenfeng 欄目:關系型數據庫
如果主節點宕機或故障了,其他的節點就會選出一個新的主節點。選舉的過程可以由任意的非主節點發起,然后根據優先級和Bully算法選舉出新的主節點。在選舉出主節點之前,整個集群服務是只讀的,不能執行寫入操作。
非仲裁節點都有一個優先級的設置,范圍為0--100,越大的值越能優先成為主節點。默認情況下為1,如果值為0則不能成為主節點。
Bully算法是一種協調者(主節點)競選算法,主要思想是集群的每個成員都可以聲明它是主節點并通知其他節點。其算法介紹如下:

當任何一個進程發現協調者不響應請求時,他發起一次選舉,選舉過程如下:
(1).P進程向所有編號比他大的進程發送一個election消息;
(2).如果無人響應,則P獲勝,成為協調者
(3).如果編號比他大的進程響應,則由響應者接管選舉工作,P的工作完成。
   任何一個時刻,一個進程只能從編號比他小的進程接受election消息,當消息到達時,接受者發送一個OK消息給發送者,表明它在運行,
接管工作。
最終除了一個進程外,其他進程都放棄,那個進程就是新的協調者。
    他將獲勝消息發送給其他所有進程,通知他們新的協調者。
    當一個以前崩潰的進程恢復過來了后,它將主持一場選舉。如果該進程恰好是當前運行進程中編號最大的進程,它將獲勝,故此成為
欺負算法。


舉例來說,當主節點故障或宕機之后,有資格成為主節點的從節點就會向其他節點發起一個選舉提議,基本的意思就是“我覺得我能成為主節點,你們覺得呢?”,
而其他節點在收到這個選舉提議后會做如下判斷(三個條件):
(1).副本集中是否有其他節點已經是主節點了?
(2).自己的數據是否比請求成為主節點的從節點上的數據更新呢?
(3).副本集中的其他節點的數據是否比請求成為主節點的從節點的數據更新呢?
如果這三個條件中只有有一個條件成立,那么都會認為對方的提議不可行,于是將返回一個消息給請求節點說“我覺得你成為主節點不合適,你退出選舉吧!”,
請求節點只要收到其他任何一個節點返回不合適,都會立刻退出選舉,并將自己保持在從節點的角色;但是如果上面三個條件都是否定的,那么就會在返回包中回復說“我覺得你可以成為主節點”,也就是把票投給這個請求節點,投票環節結束后就會進入選舉的第二階段。獲得認可的請求節點會向其他節點發送一個確認的請求包,基本意思就是“我要宣布自己是主節點了,有人反對嗎?”,如果在這次確認過程中其他節點都沒反對,那么請求節點就將自己升級為主節點,所有節點在30秒內不再進行其他選舉投票決定,如果有節點在確認環節反對請求節點做主節點,那么請求節點在收到反對回復后,會保持自己的節點角色依然是從節點,然后等待下一次選舉。
那優先級是如何影響到選舉的呢?選舉機制會盡自己最大努力讓優先級最高的節點成為主節點,即使副本集中已經選舉出了比較穩定的,但優先級比較低的主節點。
優先級比較低的節點會短暫地作為主節點運行一段時間,但不能一直作為主節點。也就是說如果優先級比較高的節點在 Bully算法投票中沒有勝出,副本集運行一段時間后會繼續發起選舉,直到優先級最高的節點成為主節點為止。

由此可見,優先級的設置參數在選舉過程中是很重要的,要么不設置,保持都是優先級為1的公平狀態,要么可以把性能比較好的幾臺Server設置的優先級更高一些。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹤庆县| 金塔县| 浦北县| 东兴市| 云南省| 益阳市| 吴桥县| 涪陵区| 全椒县| 溧阳市| 兴义市| 呼和浩特市| 巫山县| 庆阳市| 武强县| 昆山市| 西华县| 会理县| 甘孜县| 子洲县| 津南区| 讷河市| 淄博市| 兰考县| 长兴县| 诏安县| 龙海市| 灵宝市| 响水县| 景谷| 越西县| 内乡县| 宝应县| 密云县| 北辰区| 桂平市| 泰宁县| 大化| 广昌县| 万全县| 潢川县|