From 71b8885babe6dfd25c91b007018347c0c1bfac74 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期五, 20 十月 2023 17:35:52 +0800 Subject: [PATCH] 添加主节点变更和主动切换功能 --- system-service/serf/serf.go | 17 +++++++++++------ 1 files changed, 11 insertions(+), 6 deletions(-) diff --git a/system-service/serf/serf.go b/system-service/serf/serf.go index b7b4fde..77e50c3 100644 --- a/system-service/serf/serf.go +++ b/system-service/serf/serf.go @@ -21,6 +21,7 @@ UserEventSyncSql = "SyncSql" UserEventSyncDbTablePersonCache = "SyncCache" UserEventSyncVirtualIp = "SyncVirtualIp" //婕傜Щip淇敼 + UserEventChangeMaster = "ChangeMaster " //淇敼鑺傜偣鐘舵�� UserEventSyncRegisterInfo = "SyncRegisterInfo" //鍚屾娉ㄥ唽淇℃伅 DataSystemSerfSubscribe = "data-system-serf-subscribe" //鍚刟pp浠巗erf璁㈤槄娑堟伅 UserEventSyncMessage = "SyncMessageForProc" // 涓哄叾浠栬繘绋嬪悓姝ユ秷鎭� @@ -42,6 +43,8 @@ HandleUserEventSyncDbTablePersonCache(ev) } else if ev.Name == UserEventSyncVirtualIp { HandleUserEventSyncVirtualIp(ev) + } else if ev.Name == UserEventChangeMaster { + HandleUserEventChangeMaster(ev) } else if ev.Name == UserEventSyncRegisterInfo { HandleSyncRegisterInfo(ev) } else if ev.Name == DataSystemSerfSubscribe { @@ -61,8 +64,10 @@ case serf.MemberEvent: if event.EventType() == serf.EventMemberLeave { HandleEventMemberLeave(ev) - } else if event.EventType() == serf.EventMemberJoin { + } else if event.EventType() == serf.EventMemberJoin || event.EventType() == serf.EventMemberUpdate { HandleEventMemberJoin(ev) + } else if event.EventType() == serf.EventMemberFailed { + HandleEventMemberFail(ev) } logger.Error("serf MemberEvent ", event.EventType()) default: @@ -90,11 +95,11 @@ logger.Error("ExecuteSqlByGorm err:", err, ",sql:", sql) return false, err } - if result.RowsAffected == 0 { - logger.Debug("ExecuteSqlByGorm RowsAffected == 0", ",sql:", sql) - err = errors.New("ExecuteSqlByGorm RowsAffected == 0") - return false, err - } + //if result.RowsAffected == 0 { + // logger.Debug("ExecuteSqlByGorm RowsAffected == 0", ",sql:", sql) + // err = errors.New("ExecuteSqlByGorm RowsAffected == 0") + // return false, err + //} } tx.Commit() return true, nil -- Gitblit v1.8.0