亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

zk中leader和follower啟動時信息交互分析

發布時間:2021-11-15 10:56:47 來源:億速云 閱讀:132 作者:iii 欄目:大數據

本篇內容主要講解“zk中leader和follower啟動時信息交互分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“zk中leader和follower啟動時信息交互分析”吧!

QuorumPeer中讀取節點狀態信息,不同狀態下設置不同角色

zk中leader和follower啟動時信息交互分析

1 Leader啟動Follower接收器LearnerCnxAcceptor

LearnerCnxAcceptor負責接收非leader連接請求,線程中創建LearnerHandler處理器

2 Learner發起和leader的連接

Follower.followLeader()

Observer.observeLeader()

3 leader啟動時會創建LearnerHandler

每個learnerHandler實例都對應一個leader和learner之間的連接,負責消息通信和

數據同步

4 向leader注冊

learner和leader連接后。會向leader注冊,即learner服務器基礎信息

LearnerInfo zxid,sid發送給leader服務器

5 leader 接收到learner信息 服務器算出最新epoch

@Override
public long getEpochToPropose(long sid, long lastAcceptedEpoch) throws InterruptedException, IOException {
    synchronized (connectingFollowers) {
        if (!waitingForNewEpoch) {
            return epoch;
        }
        if (lastAcceptedEpoch >= epoch) {
            epoch = lastAcceptedEpoch + 1;
        }
        if (isParticipant(sid)) {
            connectingFollowers.add(sid);
        }
        QuorumVerifier verifier = self.getQuorumVerifier();
        if (connectingFollowers.contains(self.getId()) && verifier.containsQuorum(connectingFollowers)) {
            waitingForNewEpoch = false;
            self.setAcceptedEpoch(epoch);
            connectingFollowers.notifyAll();
        } else {
            long start = Time.currentElapsedTime();
            if (sid == self.getId()) {
                timeStartWaitForEpoch = start;
            }
            long cur = start;
            long end = start + self.getInitLimit() * self.getTickTime();
            while (waitingForNewEpoch && cur < end && !quitWaitForEpoch) {
                connectingFollowers.wait(end - cur);
                cur = Time.currentElapsedTime();
            }
            if (waitingForNewEpoch) {
                throw new InterruptedException("Timeout while waiting for epoch from quorum");
            }
        }
        return epoch;
    }
}

到此,相信大家對“zk中leader和follower啟動時信息交互分析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

海盐县| 石嘴山市| 伊金霍洛旗| 西贡区| 贡山| 班玛县| 阜平县| 淮北市| 玉林市| 柳江县| 遂溪县| 兴山县| 新巴尔虎右旗| 独山县| 衡山县| 赤峰市| 林芝县| 宁都县| 台中市| 漳州市| 苗栗市| 永泰县| 潼关县| 石楼县| 广昌县| 双牌县| 水富县| 双江| 佛坪县| 木兰县| 凌海市| 宁国市| 烟台市| 新郑市| 沂源县| 肇庆市| 上虞市| 瑞丽市| 武鸣县| 嘉黎县| 浏阳市|