0
我需要提供一個H/A機制。如何使用zookeeper實現高可用性服務(2個節點)
我明白泰德動物園管理員可以選擇作爲地區領導人選舉
我在找這個流程正確的模式:
我需要實現調用流程的服務。 當它開始流程[流程是循環流程]時,它必須驗證它是領導者。 (通過它的IP地址說)。
據我所知,我可以把一個值放入一個定義輸入 實例的動物園管理員,並在1循環結束或一段時間內處理它。
它是正確的模式?
也似乎競爭狀態的問題,如果我使用類似:
...
...
List<String> names = zk.getChildren(path, false);
String id = null;
// See whether we have already run for election in this process
for (String name : names) {
{
if (name.startsWith(myIP)) {
id = name;
break;
}
}
if (id == null) {
id = zk.create(path + "/" + myIP, new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL);
}
boolean isLeader = id != null;
例如:
2服務讀空 比第二覆蓋第一署名,兩者的運行任務。
你能幫忙嗎?
感謝