bdrq:
- 在集群中,如果master挂掉,那么slave将被提升为master, master再次启动是,会变成slave
nutcracker
1.编译nutcracker
$ CFLAGS="-ggdb3 -O0" ./configure --enable-debug=full
$ make
$ sudo make install
2.Config nutcracker
alpha:
listen: 0.0.0.0:22120
hash: fnv1a_64
distribution: ketama
auto_eject_hosts: true
server_retry_timeout: 2000
server_failure_limit: 1
redis: true
servers:
- server1
127.0.0.1:6370:1
127.0.0.1:6380:1
- server2
127.0.0.1:6371:1
127.0.0.1:6381:1
- server3
127.0.0.1:6372:1
127.0.0.1:6382:1
notic
if use redis, must add redis is true
Redis
redis-server --port 6370 &
redis-server --port 6371 &
redis-server --port 6372 &
redis-server --port 6380 &
redis-server --port 6381 &
redis-server --port 6382 &
redis-cli -p 6380 slaveof localhost:6370
redis-cli -p 6381 slaveof localhost:6371
redis-cli -p 6382 slaveof localhost:6372
redis sentinel
- 6490
port 6490
daemonize yes
logfile "/tmp/sentinel6490.log"
#master 6370
sentinel monitor master-6371 127.0.0.1 6371 2
sentinel config-epoch master-6371 0
sentinel known-slave master-6371 127.0.0.1 6381
sentinel known-sentinel master-6371 127.0.0.1 6492
#master 6371
sentinel known-sentinel master-6371 127.0.0.1 6491
sentinel monitor master-6372 127.0.0.1 6372 2
sentinel parallel-syncs master-6372 2
sentinel config-epoch master-6372 0
#master 6372
sentinel known-slave master-6372 127.0.0.1 6382
sentinel known-sentinel master-6372 127.0.0.1 6492
sentinel known-sentinel master-6372 127.0.0.1 6491
# Generated by CONFIG REWRITE
dir "/home/r/software/bdrp/redis"
maxclients 3984
sentinel monitor master-6370 127.0.0.1 6370 2
sentinel config-epoch master-6370 0
sentinel known-slave master-6370 127.0.0.1 6380
sentinel known-sentinel master-6370 127.0.0.1 6492
sentinel known-sentinel master-6370 127.0.0.1 6491
- 6491
port 6491
daemonize yes
logfile "/tmp/sentinel6491.log"
#master 6370
sentinel monitor master-6371 127.0.0.1 6371 2
sentinel config-epoch master-6371 0
sentinel known-slave master-6371 127.0.0.1 6381
sentinel known-sentinel master-6371 127.0.0.1 6492
#master 6371
sentinel known-sentinel master-6371 127.0.0.1 6490
sentinel monitor master-6372 127.0.0.1 6372 2
sentinel parallel-syncs master-6372 2
sentinel config-epoch master-6372 0
#master 6372
sentinel known-slave master-6372 127.0.0.1 6382
sentinel known-sentinel master-6372 127.0.0.1 6492
sentinel known-sentinel master-6372 127.0.0.1 6490
# Generated by CONFIG REWRITE
dir "/home/r/software/bdrp/redis"
maxclients 3984
sentinel monitor master-6370 127.0.0.1 6370 2
sentinel config-epoch master-6370 0
sentinel known-slave master-6370 127.0.0.1 6380
sentinel known-sentinel master-6370 127.0.0.1 6492
sentinel known-sentinel master-6370 127.0.0.1 6490
- 6492
port 6492
daemonize yes
logfile "/tmp/sentinel6492.log"
#master 6370
sentinel monitor master-6370 127.0.0.1 6370 2
sentinel config-epoch master-6370 0
sentinel known-slave master-6370 127.0.0.1 6380
sentinel known-sentinel master-6370 127.0.0.1 6491
#master 6371
sentinel known-sentinel master-6370 127.0.0.1 6490
sentinel monitor master-6372 127.0.0.1 6372 2
sentinel parallel-syncs master-6372 2
sentinel config-epoch master-6372 0
#master 6372
sentinel known-slave master-6372 127.0.0.1 6382
sentinel known-sentinel master-6372 127.0.0.1 6491
sentinel known-sentinel master-6372 127.0.0.1 6490
# Generated by CONFIG REWRITE
dir "/home/r/software/bdrp/redis"
maxclients 3984
sentinel monitor master-6371 127.0.0.1 6371 2
sentinel config-epoch master-6371 0
sentinel known-slave master-6371 127.0.0.1 6381
sentinel known-sentinel master-6371 127.0.0.1 6491
sentinel known-sentinel master-6371 127.0.0.1 6490