Zookeeper C 程式設計實戰之主備切換

2021-08-31 16:24:04 字數 1207 閱讀 8676

預設zookeeper日誌輸出到stderr,

可以呼叫zoo_set_log_stream(file*)設定輸出到檔案中

還可以呼叫zoo_set_debug_level(zoologlevel)控制日誌級別!!!

類czookeeperhelper提供基於zookeeper的主備切換介面和讀取資料等介面:

使用示例:

void run();

void wait();

private:

void work();

private:

virtual void on_zookeeper_session_connected(const char* path);

virtual void on_zookeeper_session_connecting(const char* path);

virtual void on_zookeeper_session_expired(const char *path);

virtual void on_zookeeper_session_event(int state, const char *path);

virtual void on_zookeeper_event(int type, int state, const char *path);

private:

volatile bool _stop;

std::string _master_path; 用來競爭master的zookeeper節點路徑

std::string _master_data; 成功競爭為master時,寫入_master_path的資料,主備應當提供不同的資料,以方便判斷自己是否處於主狀態

};int main(int argc, char* argv)

catch (mooon::sys::csyscallexception& ex)

catch (mooon::utils::cexception& ex)

} : _stop(false)

}else

else

}休息2秒後再嘗試,不要過頻重試,一般情況下1~10秒都是可接受的

mooon::sys::cutils::millisleep(2000);}}

mylog_info("exit now\n");}}

catch (mooon::utils::cexception& ex)

}}

程式設計實戰之 NTC取樣程式設計

對於dsp是12位的adc取樣模組,其取樣公式為 adresult 4 voltinput adclo 3.0 65520 adresult是結果暫存器中的數字量,voltinput是模擬電壓輸入值,adclo是adc轉換的參考電平,一般接到地,所以為0值。根據ntc規格書的ntc熱敏電阻r t表,...

程式設計實戰二

建議 使用統一的頁面跳轉方法,便於對跳轉時的邏輯進行統一控制。便於修改邏輯。public class activitya extends activityelse 在另乙個activityb要條狀到activitya時 public class activityb extends activity ...

HBase程式設計實戰

程式設計實現以下指定功能,並用hadoop提供的hbase shell命令完成相同任務 1 列出hbase所有的表的相關資訊,例如表名 public static void main string args throws ioexception if admin null admin.close i...