| | |
| | | return false, "" |
| | | } |
| | | |
| | | // 根据集群名称和密码创建集群 |
| | | func (s ClusterService) UpdateDriftStateByNodeId(clusterId, nodeId, role string) (bool, string) { |
| | | var node models.Node |
| | | isSuccess := node.UpdateDriftStateByNodeId(role, nodeId, false) |
| | | |
| | | if isSuccess { |
| | | // 通知主节点变更 |
| | | chMsg := protomsg.DbChangeMessage{ |
| | | Id: clusterId, |
| | | Table: protomsg.TableChanged_T_Cluster, |
| | | Action: protomsg.DbAction_Insert, |
| | | Info: "slave2master", |
| | | } |
| | | |
| | | s.AddDbMessage(&chMsg) |
| | | |
| | | err := serf.Agent.UserEvent(serf.UserEventChangeMaster, []byte(nodeId), false) |
| | | if err != nil { |
| | | logger.Error("UserEventSyncVirtualIp err:", err) |
| | | } |
| | | } |
| | | |
| | | return isSuccess, "" |
| | | } |
| | | |
| | | func (s ClusterService) SearchByPwd(pwd string) (err error) { |
| | | _, isSearching := getFromSearchMap() |
| | | if isSearching { |
| | |
| | | func ClusterSyncProcMessage(payload []byte) { |
| | | if serf.Agent == nil { |
| | | logger.Error("未加入集群") |
| | | return |
| | | } |
| | | |
| | | err := serf.Agent.UserEvent(serf.UserEventSyncMessage, payload, false) |