redis一主两从三哨兵配置+springboot整合完整技术方案

业务写多了偶尔弄下架构技术方案也是不错的!有时候也是问题主导。

我目前的问题就是多个项目使用同一个单例redis,偶尔会redis发生宕机,导致项目或多或少出点问题,所以认真的研究了下,当然有人会说我的项目对于缓存的依赖性太高了,那么请考虑下在分析报表存在大量统计数据的话还能不依赖redis吗? (请理智回答,拒绝杠精。。。)

1.首先下载redis并编译安装

wget  http://download.redis.io/releases/redis-4.0.11.tar.gz

(最新版的是redis5可以自由选择)

tar -zvxf redis-4.0.11.tar.gz 

接着编译

make 

【可能遇到的问题】

报错You need tcl 8.5 or newer in order to run the Redis test

所以需要下载tcl8.5

解决方式

安装tcl

wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz

sudo tar xzvf tcl8.6.1-src.tar.gz  -C /usr/local/  

cd  /usr/local/tcl8.6.1/unix/  

sudo ./configure  

sudo make  

sudo make install

【跳过问题】

再次make test可以了成功校验了

接着cd redis-4.0.11/src

这样编译安装成功了

默认安装文件会再/usr/local/bin

因为目前安装文件和配置文件看来起来比较分散所以建议自己新建个目录整合下

cd /usr/local/

mkdir redis

再进入到redis目录新建一下目录

接着把/usr/local/bin中的redis脚本复制到/usr/local/redis/bin目录下

将redis解压目录下的redis.conf和sentinel.conf分别复制到/usr/local/redis/conf和/usr/local/redis/sentinel下

然后cd 到/usr/local/redis/conf目录下

将redis.conf复制三份分别重命名为

2.主服务配置文件修改

将redis_6379.conf作为主服务配置文件

修改一下内容

将bind 127.0.0.1注释或修改为内网或外面地址方便后面做主从复制或集群

将protected-mode yes 修改为no

端口看情况,我的目前不需要改

找到daemonize将值修改位yes则可以后台启动

logfile也可以配置下

工作目录修改

配置密码

配置从服务器密码(选举新的master后需要用到)

masterauth 123456

3.从服务器配置

两个从redis配置文件先把上面的配置copy一份

然后把所有的6379修改为6380、6381

最后一定要加上从服务标志性配置

 

4.哨兵文件配置

哨兵文件配置这里是采用三个哨兵监控主服务器

所以也复制三个

 

vim sentinel_6379.conf

 

可以修改下工作目录 dir "/usr/local/redis/sentinel/6379/tmp"

下面修改监控master配置和访问密码

 

另外两个文件配置是类似的除了端口号修改修改下

 

这样配置都完成了回到/usr/local/redis下面启动三个redis实例

 

 

启动哨兵

 

 

接着登陆redis

输入info replication

发现我们默认配置的主实例并不是master,这也是哨兵自己的选举策略

接着登陆6380端口的

 

5.下面我们看springboot相关配置

pom依赖

 

 

 

接着写了两个测试接口

 

 

然后测试下都是成功的

接着测试故障迁移kill掉master

然后会在springboot中看到重连机制和选举机制

最后发现采用了6379为master

 

一主两从三哨兵的整个技术方案到此圆满结束,有不明白的童鞋可以提问都会回复的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值