Redis与分布式-哨兵模式

接上文 Redis与分布式-主从复制

1.哨兵模式


启动一个哨兵,只需要修改配置文件即可,

c 复制代码
sentinel monitor lbwnb 1247.0.0.1 6001 1

先将所有服务关闭,然后修改配置文件,redis Master,redis Slave,redis Slave 2都是同样的修改方式




启动哨兵

先关闭哨兵服务,开启6001、6002、6003服务后再开启哨兵服务

启动哨兵后,会自动监控主节点,还会显示哪些节点是作为从节点存在的。

此时把主节点6001关闭,查看会发生什么。

此时再启动6001服务

此时6001和6001同步,6001会从6003同步数据

这里哨兵把6003作为了新的主节点,而不是6002,是遵循了以下规则:

但是如果哨兵挂了可能会影响。此时可配置多个哨兵,只需要将哨兵的配置复制以下,然后修改端口,这样就可以启动多个哨兵。

启动3个哨兵(一主二从),把最后一个值改为2:

先把6001,6002,6003给关闭。然后复制三个redis sentinel




先启动6001,6002,6003三个服务,然后启动上边3个修改后的哨兵

c 复制代码
# 启动服务
redis-server.exe redis.windows.conf
c 复制代码
# 启动哨兵
redis-server.exe redis.windows.conf --sentinel

此时6003为6002和6001的主节点。此时将6003主节点进行关闭,查看状态。

针对哨兵重新选举新的节点后,java中的redis怎么感知?如下:

先导入依赖

c 复制代码
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>4.2.1</version>
    </dependency>


java操作redis的sentinel进行写入,能正常读取

从redis客户端读取java写入的值,也正常读取

相关推荐
专业软件系统开发1 小时前
药品说明书查询系统源码 本地数据库 PHP版本
数据库·查询系统源码·说明书查询源码
^Moon^4 小时前
CycloneDDS:跨主机多进程通信全解析
c++·分布式·dds
冉冰学姐4 小时前
SSM足球爱好者服务平台i387z(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·ssm 框架·足球爱好者服务平台
大飞记Python4 小时前
部门管理|“编辑部门”功能实现(Django5零基础Web平台)
前端·数据库·python·django
清风6666666 小时前
基于单片机的智能收银机模拟系统设计
数据库·单片机·毕业设计·nosql·课程设计
资深低代码开发平台专家7 小时前
PostgreSQL 18 发布
数据库·postgresql
007php0077 小时前
百度面试题解析:微服务架构、Dubbo、Redis及其一致性问题(一)
redis·百度·docker·微服务·容器·职场和发展·架构
与衫7 小时前
在 VS Code 里看清你的数据流向:Gudu SQL Omni 实测体验
数据库·sql
Element_南笙8 小时前
吴恩达新课程:Agentic AI(笔记2)
数据库·人工智能·笔记·python·深度学习·ui·自然语言处理