raft cluster

wip: raft does not care about migrating

wip: optimize code

wip: raft election

wip

wip: fix raft leader missing log entries

wip

fix a dead lock

batch set slot route

wip: raft persist

wip

refactor cluster suite

remove relay

rename relay2

refactor: allow customizing client factory

test raft

refactor re-balance

avoid errors caused by inconsistent status on follower nodes during raft commits

test raft election
This commit is contained in:
finley
2023-01-02 21:27:06 +08:00
parent df672d4c92
commit bf7f628810
54 changed files with 3122 additions and 703 deletions

View File

@@ -1,5 +1,10 @@
package protocol
import (
"bytes"
"github.com/hdt3213/godis/interface/redis"
)
// PongReply is +PONG
type PongReply struct{}
@@ -57,6 +62,10 @@ func MakeEmptyMultiBulkReply() *EmptyMultiBulkReply {
return &EmptyMultiBulkReply{}
}
func IsEmptyMultiBulkReply(reply redis.Reply) bool {
return bytes.Equal(reply.ToBytes(), emptyMultiBulkBytes)
}
// NoReply respond nothing, for commands like subscribe
type NoReply struct{}