Redis高可用Sentinel哨兵模式环境搭建

简介: Redis高可用Sentinel哨兵模式环境搭建

Sentinel哨兵


redis在主从复制:主节点挂掉后不会自动恢复一个主节点,需要手工干预切换一个从库到主库。
服务暂且不可用、手工修改一大堆配置也可能出错、可用性低。
Sentinel哨兵高可用解决方案,通过监控主从服务器,主库挂了会自动根据从节点的反馈选举进行从库到主库的切换,在也不用担心晚上睡觉的时候线上处理问题了。
复制代码


下面的环境搭建实在win的wsl中进行的


测试配置如下



网络异常,图片无法展示
|


网络异常,图片无法展示
|


redis.conf配置文件修改



主节点


无需配置
复制代码


从节点


#主节点密码
masterauth 123654
#主节点地址
slaveof 127.0.0.1 6379
复制代码


sentinel哨兵(注意需要单独安装)



安装


需要作为插件需要安装
sudo apt install redis-sentinel
复制代码


配置


port 26379
# 1标识需要从节点反馈的数量评估主节点是否挂掉了
Sentinel monitor mymaster 127.0.0.1 6379 1
#以守护进程模式启动
daemonize yes
#10秒ping不通主节点的信息,主观认为master宕机
sentinel down-after-milliseconds mymaster 10000
#故障转移后重新主从复制,1表示串行,>1并行
sentinel parallel-syncs mymaster 1
#故障转移开始,三分钟内没有完成,则认为转移失败
sentinel failover-timeout mymaster 180000
sentinel auth-pass mymaster 123654
复制代码


效果



用的可视化工具 Another Redis Desktop Manager 为redis可视化工具


正常节点


网络异常,图片无法展示
|


通过在哨兵的服务器执行命令后,主从节点都可以看到的
复制代码


干掉主节点


info replication
6381变为主节点了
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


配置文件也发生了变化


网络异常,图片无法展示
|


springboot2中的一些变化



需要改一些配置项


#-----------------redis--------------------------
# REDIS (RedisProperties)
# Redis数据库索引(默认为0)
#spring.redis.database=0
# Redis服务器地址
#spring.redis.host=127.0.0.1
# Redis服务器连接端口
#spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=123654
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8 
# 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=10000
#------------哨兵配置添加,上面的端口地址不需要了-----------------------------
spring.redis.sentinel.master=mymaster
#这里应该有多个地址的
spring.redis.sentinel.nodes=127.0.0.1:26379
spring.redis.password=123654
#-----------------redis end------------------------
复制代码


代码是不用动的


@Configuration
public class RedisConfig {
  @Bean
  public RedisTemplate<String, Object> redisTemplateString(RedisConnectionFactory redisConnectionFactory) {
    // 配置redisTemplate
    RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
    redisTemplate.setConnectionFactory(redisConnectionFactory);
    RedisSerializer stringSerializer = new StringRedisSerializer();
    redisTemplate.setKeySerializer(stringSerializer); // key序列化
    redisTemplate.setValueSerializer(stringSerializer); // value序列化
    redisTemplate.setHashKeySerializer(stringSerializer); // Hash key序列化
    redisTemplate.setHashValueSerializer(stringSerializer); // Hash value序列化
    redisTemplate.afterPropertiesSet();
    redisTemplate.setEnableTransactionSupport(true);
    return redisTemplate;
  }
}


相关文章
|
存储 NoSQL 数据库
Redis 逻辑数据库与集群模式详解
Redis 是高性能内存键值数据库,广泛用于缓存与实时数据处理。本文深入解析 Redis 逻辑数据库与集群模式:逻辑数据库提供16个独立存储空间,适合小规模隔离;集群模式通过分布式架构支持高并发和大数据量,但仅支持 database 0。文章对比两者特性,讲解配置与实践注意事项,并探讨持久化及性能优化策略,助你根据需求选择最佳方案。
1109 5
|
9月前
|
存储 运维 NoSQL
Redis集群模式
Redis集群是一种分布式存储方案,旨在解决数据存储容量不足的问题。它通过将数据分片存储在多个节点上,实现数据的横向扩展。常见的分片算法包括哈希求余、一致性哈希和哈希槽分区。其中,Redis采用哈希槽分区算法,将数据均匀分配到16384个槽位中,每个分片负责一部分槽位。当节点故障时,集群通过故障检测和主从切换机制,确保服务的高可用性。集群还支持自动的数据迁移和负载均衡,保障系统稳定运行。
|
缓存 NoSQL Redis
Redis原理—3.复制、哨兵和集群
详细介绍了Redis的复制原理、哨兵原理和集群原理。
|
监控 NoSQL Redis
Redis Sentinel:秒杀系统背后的可靠性保障神器!
本文详细介绍了如何在个人项目中利用 Redis 哨兵模式保障系统的可靠性与高可用性。哨兵模式通过监控主从服务器状态、自动故障转移和通知客户端等功能,确保在主服务器宕机时系统仍能正常运行。适用于读请求多于写请求的场景,如秒杀系统,能有效缓解数据库压力。同时也探讨了哨兵模式在高并发场景下的优化方法及潜在缺陷,帮助开发者更好地应用该模式。
436 8
Redis Sentinel:秒杀系统背后的可靠性保障神器!
|
存储 NoSQL Redis
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
Redis持久化、RDB和AOF方案、Redis主从集群、哨兵、分片集群、散列插槽、自动手动故障转移
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
|
监控 NoSQL 算法
Redis Sentinel(哨兵)详解
Redis Sentinel(哨兵)详解
726 4
|
存储 缓存 NoSQL
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
591 4
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
244 3
|
SQL 分布式计算 NoSQL
大数据-42 Redis 功能扩展 发布/订阅模式 事务相关的内容 Redis弱事务
大数据-42 Redis 功能扩展 发布/订阅模式 事务相关的内容 Redis弱事务
223 2
|
存储 缓存 NoSQL
大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点
大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点
427 1