NDB 叢集內部機制  /  NDB 核心區塊  /  QMGR 區塊

4.17 QMGR 區塊

這是邏輯叢集管理區塊,使用心跳機制處理叢集中的節點成員資格。QMGR 負責在資料節點發生故障時輪詢資料節點,並確定節點是否真的發生故障,應該從叢集中移除。此區塊包含以下檔案,位於 storage/ndb/src/kernel/blocks/qmgr

  • Qmgr.hpp: 定義 Qmgr 類別和相關結構,包括用於偵測節點故障和叢集分割的結構。

  • QmgrInit.cpp: 實作 Qmgr 的資料和記錄初始化方法,以及其解構子。

  • QmgrMain.cpp: 包含用於監控心跳、偵測和處理分裂大腦問題以及管理一些啟動階段的常式。

  • timer.hpp: 定義 Timer 類別,NDB 使用它來保持嚴格的時間記錄,獨立於系統時鐘。

此區塊還協助資料節點啟動的早期階段。

QMGR 區塊由 Qmgr 類別實作,其定義可在檔案 storage/ndb/src/kernel/blocks/qmgr/Qmgr.hpp 中找到。