本文在上一篇博客已经介绍了redis主从集群搭建。如有兴趣请查看。本章将在上一博客基础上继续完成哨兵集群搭建。
一、哨兵集群结构图
二、redis哨兵集群搭建
(1)哨兵搭建
节点 | ip | port |
s1 | 192.168.150.129 | 27001 |
s2 | 192.168.150.129 | 27002 |
s3 | 192.168.150.129 | 27003 |
1.创建3个文件夹s1、s2、s3
命令:mkdir s1 s2 s3
2.创建sentinel.conf配置文件并配置
port 27001 // 端口号
sentinel announce-ip 192.168.150.129 //主机ip
sentinel monitor mymaster 192.168.150.129 7001 2 //主节点ip地址和端口号 这里的2一般表示的是哨兵数量的一半向上取整
sentinel down-after-milliseconds mymaster 5000 //故障检测时间
sentinel failover-timeout mymaster 60000 // 故障转移超时时间
sentinel auth-pass mymaster 1234 // 设置主节点访问密码
dir "/usr/local/src/s1" // 位置信息
另外两个同样设置,但端口号和dir需要更改一下
3.启动3个哨兵建议分窗口开启
4.测试
让主节点关闭会如何
再次重启7001
sentinel变化如下
三、SpringBoot连接redis集群
1、依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
2、配置信息
3、配置主节点写入、从节点读取(也可放在其他位置,但要注意该Bean会被管理)
ReadFrom是一个枚举类。里面有许多不同的主从配置模式。有需要可以自行了解。
4、启动
启动前,如果设置了密码,记得需要配置密码。
写一个Controller进行测试(包含一个get和一个set)
5、重启。
6、测试
在redis控制台我们设置一个num数据(这里我们已经有了,因此不用设置。没有自己写一个命令set num 123)
在浏览器中进行测试。
出现123表示成功。
四、使用Jmeter进行测试。
1.添加线程组
2.添加http请求(一个get,一个set)
3.添加查看结果树和聚合报告
4.启动查看结果
字段名 | 含义 | 示例值 |
---|---|---|
Label | 请求名称或标签 | HTTP Request |
#Samples | 请求次数 | 200000(共发出2000次请求) |
#Errors | 错误数 | 0(说明全部请求成功) |
Error % | 错误率 | 0.0%(很棒) |
Average | 平均响应时间(ms) | 149 ms |
Min | 最短响应时间 | 0 ms |
Max | 最长响应时间 | 1238 ms |
Std. Dev. | 响应时间标准差(波动性) | 186.44 ms |
Throughput | 吞吐量(请求/秒) | 3104(计算方式见下) |
Received KB/sec | 每秒接收数据量 | 502.82 KB/s |
Sent KB/sec | 每秒发送数据量 | 402.67 KB/s |