找回密码
 立即注册
首页 业界区 安全 redis-(伪)主从集群搭建

redis-(伪)主从集群搭建

奸轲嫣 8 小时前
为了避免Redis的单点故障问题,可以搭建一个redis集群,将数据备份到集群中的其他节点上,如果其中一个
redis节点宕机,则由集群中的其他节点顶上。redis的主从集群是一个“一主多从”的读写分离集群。集群中的
master节点负责客户端的读写请求,slave节点只能处理客户端的读请求。之所以要将集群搭建为读写分离模式,
主要是因为对于数据库集群而言写操作压力一般都比较小,压力大多数来自于读操作请求。所以,只有一个节点
负责处理写操作请求即可。
配置分析

repl-disable-tcp-nodelay

1.png

该属性用于设置是否禁用TCP 特性 tcp-nodelay。设置为yes 则禁用tcp-nodelay,此时master 与 slave 间的通信会产生延迟,但使用的TCP 包数量会较少,占用的网络带宽会较小。相反,如果设置为no,则网络延迟会变小,但使用的TCP包数量会较多,相应占用的网络带宽会大。
tcp-nodelay:为了充分复用网络带宽,TCP 总是希望发送尽可能大的数据块。为了达到该目的,TCP 中使用了一个名为Nagle 的算法。
Nagle算法的工作原理是,网络在接收到要发送的数据后,并不直接发送,而是等待着数据量足够大(由TCP网络特性决定)时再一次性发送出去。这样,网络上传输的有效数据比例就得到了大大提升,无效数据传递量极大减少,于是就节省了网络带宽,缓解了网络压力。
requirepass&masterauth

2.png

3.png

因为我们要搭建主从集群,且每个主机都有可能会是Master,所以最好不要设置密码验证属性requirepass。如果真需要设置,一定要每个主机的密码都设置为相同的。此时每个配置文件中都要设置两个完全相同的属性:requirepass与masterauth。其中requirepass 用于指定当前主机的访问密码,而masterauth 用于指定当前 slave访问 master 时向 master 提交的访问密码,用于让 master 验证自己身份是否合法。
replica-priority

4.png

replica-priority是Redis Sentinel(哨兵)用于主节点故障时选择从节点升级为主节点的关键依据。
当主节点因故障(如宕机、网络断开)无法提供服务时,Sentinel会从所有健康的从节点中,选择优先级最高的从节点晋升为新主节点,以保证集群的高可用性。
取值规则:数值越低,优先级越高。例如,从节点A(priority=10)会优先于从节点B(priority=25)、从节点C(priority=100)被选为新主节点。若从节点的replica-priority设置为0,则该从节点永远不会被Sentinel选为新主节点。
Redis默认给所有从节点分配100的优先级,意味着若未修改任何从节点的优先级,Sentinel会优先选择复制进度最同步(replica_offset最大)的从节点作为新主节点(当优先级相同时,复制进度是第二选择条件)。
默认值100是一个“中性”设置,允许用户根据实际需求调整优先级(如降低关键从节点的优先级以优先晋升)。
文件配置

5.png

6.png

7.png

8.png

9.png

进入redis6381.conf和redis6382.conf文件后进行如下操作,注意替换的内容!
10.png

配置一主两从关系

11.png

12.png

配置

13.png

14.png

添加元素验证主从

15.png

16.png

17.png

18.png

19.png

注意:如果关闭(shutdown)了其中一个从节点,那么重新启动从节点之后还是要执行slaveof命令才可以指定主从关系的!!!
20.png

21.png

22.png

23.png

24.png

25.png


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册