??????Redis????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
1. ???????????????????????????
a,????????????????????????????????????redis6380.conf, ?????? slaveof 192.168.152.128 6379, ???6379??????????????????6380??????????????????
b,??????????????????????????????redis-server --slaveof 192.168.152.128 6379 ????????????
c,???????????????info replication
d,????????????????????????slave???????????????6380:>slaveof no one
e,?????????????????????????????????6380:> slaveof 192.168.152.128 6379
f,??????????????????????????????????????????????????????????????? requirepass
e,??????????????????????????????slave-read-only=yes, ????????????????????????????????????????????????
h,??????????????????????????????????????????????????????????????????????????????????????????redis??????repl-disable-tcp-nodelay????????????????????????TCP_NODELAY,???????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????TCP???????????????????????????40?????????????????????????????????????????????????????????40??????????????????????????????????????????????????????????????????
2. Redis????????????
a)?????????????????????????????????????????????????????????????????????“???”???????????????????????????????????????????????????????????????AOF?????????????????????????????????????????????????????????????????????????????????????????????????????????
b)?????????????????????“???”??????????????????“???”??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
c)?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????B??????????????????B?????????C????????????????????????????????????
3. ??????????????????
4. ????????????
redis 2.8??????????????????psync??????????????????????????????“??????”???“??????”??????
???????????????????????????????????????????????????????????????SLAVE????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????10S???????????????ping?????????repl-ping-slave-period??????????????????
5. ???????????????
a)??????????????????????????????????????????????????????????????????????????????????????????????????????
b)??????????????????????????????????????????????????????
c)????????????????????????????????????
6.??????????????????????????????
a)?????????(master)??????????????????slave-1????????? slaveof no one????????????????????????
b)??????????????????????????????????????????????????????????????????????????????
c)?????????????????????????????????????????????
??????Redis???????????????Sentinel???
1. ??????????????????????????????
????????????????????????????????????????????????????????????
2. ????????????(sentinel)????????????
????????????????????????????????????????????????Redis Sentinel??????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????Raft?????????????????????????????????????????????????????????????????????????????????????????????
3. ???????????????????????????
??????1????????????????????????10????????????????????????????????????info??????????????????????????????????????????????????????????????????????????????????????????????????????????????????info????????????????????????????????????????????????????????????????????????????????????
??????2???????????????????????????2?????????redis??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????publish???subscribe????????????
??????3?????????1???????????????????????????????????????????????????????????????????????????ping?????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????3?????????????????????sentinel is-masterdown-by-addr?????????????????????????????????????????????????????????quorum??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
4. ???????????????????????????
a)?????????????????????????????????????????????????????????????????????????????????3?????????????????????????????????????????????is-master-down-by-addr?????????????????????????????????????????????????????????????????????????????????????????????
b)?????????????????????????????????????????????????????????????????????????????????
c)????????????3??????????????????????????????????????????num(sentinels)/2+1????????????????????????????????????????????????????????????…………
5. ??????????????????
a)???Sentinel??????????????????????????????????????????????????????
sentinel??????master????????????PING?????????master?????????????????????master???“??????????????????”????????????PONG ???????????????????????????????????????????????????sentinel????????????(????????????)????????????master??????????????????
b) ?????????????????????????????????3???Sentinel?????????????????????Sentinel3??????????????????????????????????????????????????????
c) ???Sentinel3????????????????????????????????????????????????????????????????????????????????????
?????????
?????? 1. ???slave-1???????????????????????????????????????
2. ????????????slave-2?????????????????????
3. ?????????????????????????????????
4. ??????????????????oldMaster??????????????????????????????????????????
d) ??????????????????redis sentinel??????????????????
6. ???????????????????????????????????????-???????????????
a) ??????????????????????????????????????????????????????????????????ping??????????????????
b) ??????salve-priority???????????????????????????redis.conf??????
c) ????????????????????????????????????????????????????????????
7. ????????????????????????????????????
???3???Sentinel?????????2???????????????1????????????????????????????????????
1. ??????????????????????????????redis??????????????????????????????????????????????????????????????????????????????
??????A????????????6379?????????/usr/local/bin/conf/redis6379.conf??????
?????????????????? requirepass 12345678????????????#bind 127.0.0.1
??????B) ?????????redis6380.conf???redis6381.conf: ???????????????
?????????????????? requirepass 12345678 ,?????????#bind 127.0.0.1,
??????????????????????????????????????????masterauth 12345678 ,??????slaveof 192.168.152.128 6379
??????????????????????????????????????????????????????????????????????????????
2. redis sentinel????????????????????????(??????3?????????)???
/usr/local/bin/conf/sentinel_26379.conf
/usr/local/bin/conf/sentinel_26380.conf
/usr/local/bin/conf/sentinel_26381.conf
??????????????????????????????: 26379 26380 26381
?????????sentinel monitor mymaster 192.168.152.128 6379 2 //???????????????6379
sentinel auth-pass mymaster 12345678 //???????????????????????????
??????????????????????????????????????????
3. ??????????????????????????????????????????sentinel.conf????????????????????????
sentinel monitor mymaster 192.168.152.128 6379 2
//??????????????????IP???????????????sentinel?????????master???????????????mymaster???2????????????????????????2???sentinel??????master?????????????????????????????????master??????????????????
sentinel auth-pass mymaster 12345678 //sentinel?????????????????????
sentinel config-epoch mymaster 2 //??????????????????????????????2????????????????????????????????????????????????
sentinel leader-epoch mymaster 2
sentinel failover-timeout mymasterA 180000 //????????????????????????180s???
a,????????????????????????????????????????????????????????????2??????
b,??????????????????????????????????????????slaveof no one??????????????????????????????????????????180S???????????????????????????
c,???????????????????????????????????????180S????????????
sentinel down-after-milliseconds mymasterA 300000//sentinel????????????????????????ping?????????????????????300S?????????????????????????????????????????????????????????????????????……
sentinel parallel-syncs mymasterA 1 //??????????????????1?????????????????????????????????????????????????????????????????????????????????3??????3???????????????????????????????????????????????????????????????????????????????????????IO??????
4. ??????redis?????????sentinel??????:
a)?????????????????????redis??????????????????????????????????????? usr/local/bin????????????????????????bin?????????????????????conf???????????????????????????redis???????????????????????????????????????
b)???????????????????????????????????????????????????
??????./redis-server conf/redis6379.conf &
??????
??????./redis-server conf/redis6380.conf &
??????./redis-server conf/redis6381.conf &
c?????????sentinel??????:
./redis-sentinel conf/sentinel_26379.conf &
./redis-sentinel conf/sentinel_26380.conf &
./redis-sentinel conf/sentinel_26381.conf &
??????????????????????????????
?????????6379???redis?????????????????????6379????????????????????????6380???6381???????????????
5. ?????????kill -9 6379 ??????6379???redis??????
??????????????????6379??????6380?????????????????????6381?????????6380????????????
????????????6379????????????6380????????????
??????????????????6380 ???6381??????????????????6379???????????????????????????????????????
??????6380??????????????????:??????6380>info replication ????????????role:master
??????sentinel_26379.conf??????????????????sentinel monitor mymaster 192.168.152.128 6380 2
??????redis6379.conf???????????????, slaveof 192.168.152.128 6380,????????????6380
??????????????????????????????redis Sentinel?????????????????????????????????
8.????????????
a???sentinel???????????????????????????????????????????????????
b???????????????????????????sentinel??????
c??????????????????????????????3???sentinel????????????????????????????????????????????????
??????N??????????????????????????????sentinel??????????????????????????????????????????????????????????????????sentinel????????????????????????????????????
??????????????????????????? 3???sentinel?????????????????????