Redis 代理部署

Redis 代理部署记录

本文默认您已经正确部署了Redis哨兵集群,
如果您还没有配置哨兵,请参考 https://blog.csdn.net/qq_36623327/article/details/114255109
本文档基于 predixy 支持Redis集群的代理

  • 主从复制:https://blog.csdn.net/qq_36623327/article/details/114254944
  • 哨兵部署:https://blog.csdn.net/qq_36623327/article/details/114255109
  • redis代理:https://blog.csdn.net/qq_36623327/article/details/114255262

安装软件

predixy安装包下载地址:https://github.com/joyieldInc/predixy/releases/download/1.0.5/predixy-1.0.5-bin-amd64-linux.tar.gz

## 演示场景将软件安装在指定文件夹
cd /home/archser/soft/
## 下载压缩包
wget https://github.com/joyieldInc/predixy/releases/download/1.0.5/predixy-1.0.5-bin-amd64-linux.tar.gz
## 解压
tar predixy-1.0.5-bin-amd64-linux.tar.gz

修改配置文件

进入 conf 文件夹 cd ./conf
文件夹中需要关注的是三个配置文件,predixy.conf auth.conf sentinel.conf

predixy.conf ## 主配置文件
auth.conf ## 权限配置文件(密码和指定key的集合)
sentinel.conf ## 哨兵信息配置文件

predixy.conf

## 启用log日志模式 将 Log ./predixy.log 解开注释并修改,将日志文件单独存放
Log ../log/predixy.log
## 解开 LogRotate 1d ,每天一个新的日志文件
LogRotate 1d
## 使用哨兵配置文件
# Include cluster.conf
Include sentinel.conf
#Include try.conf

auth.conf

## 配置 predixy 链接密码
Authority {
    Auth archser_redis {
        Mode read
    }
    Auth archser_redis {
       Mode write
    }
}

sentinle .conf

### 配置哨兵信息
SentinelServerPool {
## 这里配置 Redis链接密码
   password archser_redis
    Databases 16
    Hash crc16
    HashTag "{}"
    Distribution modula
    MasterReadPriority 60
    StaticSlaveReadPriority 50
    DynamicSlaveReadPriority 50
    RefreshInterval 1
    ServerTimeout 1
    ServerFailureLimit 10
    ServerRetryTimeout 1
    KeepAlive 120
    ## 这里添加哨兵信息
    Sentinels {
        + 192.168.31.151:26379
        + 192.168.31.154:26379
        + 192.168.31.157:26379
    }
    ## 这里的名字是哨兵集群的名字
    Group mymaster {
    }
}

启动 predixy

../bin/predixy ./predixy.conf &
## 启动完成可以查看日志文件中的信息是否已经正常连接了哨兵

测试代理

测试原理就是手动关闭主节点Redis,看 predixy 是否可以自动代理新的主节点

## 链接predixy  我们约定将此窗口命名为 redis-cli 窗口,后面还会用这个窗口
root@localhost conf]# redis-cli  -p 7617
127.0.0.1:7617> AUTH archser_redis
OK
127.0.0.1:7617> set a a 
OK
## 查看sentinle  的日志,看现在的主节点是哪个Redis实例,手动关闭
## 等到 sentinel 输出了新节点信息的时候,重复执行redis命令看是否正常
## sentinel 信息如下
[root@localhost redis_6379]# tail -f /home/archser/redis_6379/sentinel.log
10883:X 23 Feb 2021 13:56:33.079 # +sdown master mymaster 192.168.31.157 6379
10883:X 23 Feb 2021 13:56:33.090 # +new-epoch 4
10883:X 23 Feb 2021 13:56:33.090 # +vote-for-leader 821591ce5ba737641e70ac98ebc0b6ccf1540426 4
10883:X 23 Feb 2021 13:56:33.163 # +odown master mymaster 192.168.31.157 6379 #quorum 3/2
10883:X 23 Feb 2021 13:56:33.163 # Next failover delay: I will not start a failover before Tue Feb 23 14:02:33 2021
10883:X 23 Feb 2021 13:56:34.055 # +config-update-from sentinel 821591ce5ba737641e70ac98ebc0b6ccf1540426 192.168.31.151 26379 @ mymaster 192.168.31.157 6379
10883:X 23 Feb 2021 13:56:34.055 # +switch-master mymaster 192.168.31.157 6379 192.168.31.151 6379
10883:X 23 Feb 2021 13:56:34.055 * +slave slave 192.168.31.154:6379 192.168.31.154 6379 @ mymaster 192.168.31.151 6379
10883:X 23 Feb 2021 13:56:34.055 * +slave slave 192.168.31.157:6379 192.168.31.157 6379 @ mymaster 192.168.31.151 6379
10883:X 23 Feb 2021 13:56:44.097 # +sdown slave 192.168.31.157:6379 192.168.31.157 6379 @ mymaster 192.168.31.151 6379
## 回到 redis-cli 窗口 在再次操作Redis ,看是否正常
127.0.0.1:7617> set a a 
OK
## 如果正常输出,则证明当前系统中的Redis集群在主节点意外宕机之后
## 哨兵会自动选举新的主节点返回给 predixy 
## predixy 自动代理新的主节点,客户端不需要任何修改就实现了 “高可用”
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值