单机模式
架构图
特点
不足:高可用的问题,单点故障的问题
主从模式
架构图
部署步骤
- 下载安装包,编译好后。新增从节点的配置文件,copy主节点的配置文件 XX/src/redis.config,改名称为redis7000.conf;
- 修改redis.conf和redis7000.conf:(1)#bind 127.0.0.1 (2)protected-mode:no (3) port: 6379/7000 (4) pidf…6379/7000
- 启动:/src 启动主节点:./redis-server …/redis.conf &
- 启动从节点:./redis-server …/redis7000.conf --slaveof 10.1.162.59 6379 &
- 客户端连接:./redis-cli -p 7000
- 查看主从配置:info replication
特点
不足:
1、也会存在单点故障的问题。如果master宕机服务就不可用了
2、写的压力还是主库上,性能上的瓶颈
3、如果我们的master挂掉之后,没办法切换,需要手动干预
ps
全量复制:一般用于初始化场景(第一次执行save后 全量同步)
部分复制:网络出现问题、从再次链主节点 。一部分增加同步
哨兵模式
原因
主从之间切换的问题,不能自动切换,需要手动干预
部署步骤
- vim sentinel.conf #在redis的跟目录下
- 修改内容:
sentinel monitor #监听哪个结点
failover-time #等待切换时间
failover-time #等待切换时间
port 26379 daemonize yes
protected-mode no #保护模式
logfile “/data/redis/logs/sentinel.log”
dir “/data/redis/sentinel”
sentinel monitor mymaster 192.168.0.31 6379 1 #哨兵监控的master。
sentinel down-after-milliseconds mymaster 5000 #master或者slave多少时间(默认30秒)不能使用标记为down状态。
sentinel failover-timeout mymaster 9000 #若哨兵在配置值内未能完成故障转移操作,则任务本次故障转移失败。
sentinel deny-scripts-reconfig yes - 启动哨兵:./server-sentinel …/sentinel.conf &
特点
特点:
1、延迟不能接受,数据会导致不一致(主节点写,从节点只读,数据不同步,切换也会数据丢失)
2、可以做到主从切换
3、监听并且需要浪费相关网络资源
PS.互联网公司已经抛弃,传统公司仍在使用;