文章目录
一. Redis 搭建主从复用-读写分离
Redis 支持主从复用。数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制。 Mater Slave 的模式,从 Slave 向 Master 发起 SYNC 命令。
可以是 1 Master 多 Slave,可以分层, Slave 下可以再接 Slave,可扩展成树状结构。
Redis的架构模式:
1.单机版
优点:
搭建和使用简单
缺点:
查询和写入都是一台服务器来工作
无法满足高可用
2.主从复用环境-读写分离
优点:
将读写进行分离,提高查询速度
缺点:
写数据的压力没有得到缓解
无法满足高可用
3.主从复用环境-主备切换-哨兵
优点:
实现了高可用
缺点:
写数据的压力没有得到缓解
4.集群
缺点:
搭建环境复杂学习难度增大
保证集群环境的可用
优点:
读写的压力都得到了缓解
分片处理solt槽
============================================================================================
注意:redis不是实时存储的, 根据除法 save 60 10000 / save 300 10 / save 900 1
eg:60秒内执行10000次才进行存储....
redis将数据库快照保存在dub.rdb的二进制文件中 -> 也就是刚开始执行数据保存在快照中,当触发条件则持久化保存在二进制文件中
===========================================================================================
面试: redis的存储方式解释下:
可以回答:dum.rdb的存储机制 + appnedonly file的AOP机制
===========================================================================================
redis搭建主从服用 - 读写分离
创建公共配置文件:redis-common.conf:
(1) protected-mode no ->保护模式
(2) port 6379 ->公共配置端口
(3) bind 127.0.0.1 ->绑定本机ip
(4) daemonize yes ->设置是否为后台启动
(5) pidfile /var/run/redis_6379.pid ->进程编号记录文件
(6) logfile "" ->公共配置日志文件
(7) dbfilename dump.rdb ->公共配置数据文件
(8) dir /opt/redis/data ->数据文件路径
(9) masterauth root ->从服务器访问主服务器认证
(10) requirepass root ->访问认证
(11)dependonly no 公共配置追加文件 ->打开区别: 数据不会先存储在快照中,而是通过appendonlyfile的文件
把所有插入数据/指令添加到那个文件中,然后按照默认自动保存方式,定期的把这里面的输入保存到dump.rdb文件中
使用好处: 就算服务器断了/down了, appendonly.aof文件中也会有数据,直接重新继续执行导入就行
(12) replace-read-only yes ->从服务器默认是只读不允许写操作(不用修改) 自动提高查询效率,写的操作自动到主服务器去控制,从服务器值查询即可
============================================================================================
redis搭建主从服用 - 主备切换-哨兵
修改 sentinel-common.conf 哨兵公共配置文件:
(1) #port 26379 ->注释哨兵监听进程端口号
(2) protected-mode no ->关闭保护模式
(3) daemonize yes ->修改为后台启动
(4) sentinel monitor mymaster 192.168.159.128 6379 2 ->指示 Sentinel 去监视一个名为 master 的主服务器,这个主服务器的 IP 地址为127.0.0.1,
端口号为 6379,而将这个主服务器判断为失效至少需要 1 个(一般设置为 2个)。 Sentinel 同意
(5) sentinel auth-pass mymaster root ->设置 master 和 slaves 的密码
(6) sentinel down-after-milliseconds mymaster 10000 Sentinel 认为服务器已经断线所需的毫秒数 eg:执行ping,返回pang ,超过10000就代表时效
(7) sentinel failover-timeout mymaster 180000 ->若 sentinel 在该配置值内未能完成 failover 操作(即故障时 master/slave 自动切换)
,则认为本次 failover 失败。
使用步骤:
-
复制 redis.conf 至/opt/redis/conf 目录下
-
修改 redis-common.conf 公共配置文件
3.1注释掉 bind 127.0.0.1
3.2关闭保护模式,修改为 no
3.3注释公共配置端口
3.4修改为后台启动
3.5注释进程编号记录文件
3.6注释公共配置日志文件
3.7注释公共配置数据文件、修改数据文件路径
在默认情况下, Redis 将数据库快照保存在名字为 dump.rdb 的二进制文件中。当然,
这里可以通过修改 redis.conf 配置文件来对数据存储条件进行定义,规定在“ N 秒内数
据集至少有 M 个改动”这一条件被满足时,自动保存一次数据集。也可以通过调用 save 或
bgsave ,手动让 Redis 进行数据集保存操作
dbfilename 和 dir 组合使用, dbfilename 找 dir 路径生成数据文件
3.8添加从服务器访问主服务器认证
3.9添加访问认证
3.10注释公共配置追加文件
根据需求配置是否打开追加文件选项
appendonly yes -> 每当 Redis 执行一个改变数据集的命令时(比如 SET),这个命
令就会被追加到 AOF 文件的末尾。这样的话,当 Redis 重新启时,程序就可以通过重新执
行 AOF 文件中的命令来达到重建数据集的目的。
3.11从服务器默认是只读不允许写操作(不用修改)
-
添加 3 个服务的私有配置文件 -> 引用公共配置文件并修改自己的部分配置
touch 或者 vi 都可以创建空白文件
touch 直接创建空白文件, vi 创建并且进入编辑模式, :wq 创建成功,否则不创建
redis-6379.conf
复制 redis-6379.conf 的内容至 redis-6380.conf redis-6381.conf 并且修改其
内容,将 6379 替换即可。
二. Redis 搭建主从复用-主备切换
1.redis 节点准备
单台服务器不同端口模拟多台服务器配置
127.0.0.1 6379(master-主节点)
127.0.0.1 6380(slave-从节点)
127.0.0.1 6381(slave-从节点)
2.主从节点 redis.conf 配置
参照↑上面↑的笔记《Redis 搭建主从复用-读写分离》
3.修改 sentinel-common.conf 哨兵公共配置文件
3.1从 redis 解压目录下复制 sentinel.conf 至/opt/redis/conf/
3.2注释哨兵监听进程端口号
3.3指示 Sentinel 去监视一个名为 master 的主服务器
这个主服务器的 IP 地址为127.0.0.1,端口号为 6379,而将这个主服务器判断为失效至少需要 1 个(一般设置为 2个)。 Sentinel 同意 (只要同意 Sentinel 的数量不达标,自动故障迁移就不会执行)。
这个要配局域网 IP,否则远程连不上。
3.4设置 master 和 slaves 的密码
3.5 Sentinel 认为服务器已经断线所需的毫秒数
3.6 若 sentinel 在该配置值内未能完成 failover 操作(即故障时 master/slave 自动切
换),则认为本次 failover 失败。
3.7 关闭保护模式,修改为 no
3.8 修改为后台启动(为了方便查看日志,先注释掉,搭好环境后再打开)
4.添加 3 个哨兵的私有配置文件
touch 或者 vi 都可以创建空白文件
touch 直接创建空白文件, vi 创建并且进入编辑模式, :wq 创建成功,否则不创建
sentinel-26379.conf
复制 sentinel-26379.conf 的内容至 sentinel-26380.conf sentinel-26381.conf 并 且修改其内容,将 26379 替换即可。
5.启动测试
5.1 启动 3 个 redis 服务
5.2 启动 3 个哨兵服务
5.3 查看主从状态
redis-6379
5.4 检测哨兵功能是否配置成功
kill -9 终止 redis-6379,查看哨兵是否选举了新的主节点
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/106314.html