Raft 集群节点身份冲突问题
package main import ( "flag" "fmt" "io" "net" "os" "strconv" "strings" "time"
"GitHub.com/hashicorp/raft" // GitHub.com/hashicorp/raft v1.7.3
log "GitHub.com/sirupsen/logrus"
) type raftCluster struct { localRaftID raft.ServerID servers map[raft.ServerID] raft.ServerAddress // raftID : raftAddressPort raft *raft.Raft electionTimeout time.Duration } func (r *raftCluster) Start() error { config := raft.DefaultConfig() config.HeartbeatTimeout = 2000 * time.Millisecond config.ElectionTimeout = 5000 * time.Millisecond config.CommitTimeout = 2000 * time.Millisecond config.LeaderLeaseTimeout = 10000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.HeartbeatTimeout = 1000 * time.Millisecond config.ElectionTimeout = 1000 * time.Millisecond config.CommitTimeout = 1000 * time.Millisecond config.LeaderLeaseTimeout = 1000 * time.Millisecond config.HeartbeatInterval = 1000 * time.Millisecond config.Heartbeat
内容来源: hashicorp/raft