Redis与分布式-哨兵模式

news2024/11/24 9:58:20
接上文 Redis与分布式-主从复制

1.哨兵模式

在这里插入图片描述
在这里插入图片描述
启动一个哨兵,只需要修改配置文件即可,

sentinel monitor lbwnb 1247.0.0.1 6001 1

先将所有服务关闭,然后修改配置文件,redis Master,redis Slave,redis Slave 2都是同样的修改方式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
启动哨兵在这里插入图片描述
先关闭哨兵服务,开启6001、6002、6003服务后再开启哨兵服务在这里插入图片描述
在这里插入图片描述在这里插入图片描述
启动哨兵后,会自动监控主节点,还会显示哪些节点是作为从节点存在的。
26505461aba6fe32628ed934d.png)

此时把主节点6001关闭,查看会发生什么。
在这里插入图片描述
此时再启动6001服务
在这里插入图片描述
此时6001和6001同步,6001会从6003同步数据
在这里插入图片描述
这里哨兵把6003作为了新的主节点,而不是6002,是遵循了以下规则:
在这里插入图片描述
但是如果哨兵挂了可能会影响。此时可配置多个哨兵,只需要将哨兵的配置复制以下,然后修改端口,这样就可以启动多个哨兵。
启动3个哨兵(一主二从),把最后一个值改为2:
先把6001,6002,6003给关闭。然后复制三个redis sentinel
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
先启动6001,6002,6003三个服务,然后启动上边3个修改后的哨兵

# 启动服务
redis-server.exe redis.windows.conf

在这里插入图片描述

# 启动哨兵
redis-server.exe redis.windows.conf --sentinel

在这里插入图片描述

此时6003为6002和6001的主节点。此时将6003主节点进行关闭,查看状态。
在这里插入图片描述
针对哨兵重新选举新的节点后,java中的redis怎么感知?如下:
先导入依赖

    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>4.2.1</version>
    </dependency>

在这里插入图片描述
在这里插入图片描述
java操作redis的sentinel进行写入,能正常读取
在这里插入图片描述
从redis客户端读取java写入的值,也正常读取
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1054129.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

buuctf-[Zer0pts2020]Can you guess it?

点击source&#xff0c;进入源代码 <?php include config.php; // FLAG is defined in config.phpif (preg_match(/config\.php\/*$/i, $_SERVER[PHP_SELF])) {exit("I dont know what you are thinking, but I wont let you read it :)"); }if (isset($_GET[so…

nodejs缓存策略

nodejs缓存策略 缓存是一种强大的技术&#xff0c;可以显著提高nodejs应用程序的性能。 在现代Web应用程序中&#xff0c;性能和效率是直接影响用户体验和应用程序成功的关键因素。 通过将频繁访问的数据存储在缓存中&#xff0c;我们可以减少对昂贵的计算或外部API调用的需求…

记录:Unity脚本的编写

目录 前言添加脚本到unity编写c#脚本查看效果 前言 在学习软件构造这门课的时候&#xff0c;对unity和c#进行了 一定程度的学习&#xff0c;包括简单的建立地形&#xff0c;添加对象&#xff0c;添加材质等&#xff0c;前不久刚好学习了如何通过c#脚本对模型进行操控&#xff…

加入PreAuthorize注解鉴权之后NullPointerException报错

记录一次很坑的bug&#xff0c;加入PreAuthorize注解鉴权之后NullPointerException报错&#xff0c;按理来说没有权限应该403报错&#xff0c;但是这个是500报错&#xff0c;原因是因为controller层的service注入失败&#xff0c;然而我去掉注解后service注入成功&#xff0c;并…

简历项目优化关键方法论-START

START方法论是非常著名的面试法则&#xff0c;经常被面试官使用的工具 Situation:情况、事情、项目需求是在什么情况下发生Task:任务&#xff0c;你负责的做的是什么Action:动作&#xff0c;针对这样的情况分析&#xff0c;你采用了什么行动方式Result:结果&#xff0c;在这样…

Lua如何调用C程序库

在Lua中加载和使用C库需要使用Lua的C API。以下是一个简单的示例&#xff1a; 首先&#xff0c;让我们创建一个C库。在C中&#xff0c;我们可以创建一个文件&#xff0c;如“mylib.c”&#xff0c;包含以下代码&#xff1a; #include <stdio.h> int add(int a, int b) …

imgui开发笔记<1>、ubuntu环境下快速应用

去这个链接下载imgui源码&#xff08;在此之前需要安装opengl glfw3等等&#xff09;&#xff1a; sudo apt-get install libglfw3-dev https://github.com/ocornut/imgui 我这里源码下载到/home/temp/imgui目录下&#xff0c;咱们不需要编译源码成库&#xff0c;而是直接将下…

数据库设计流程---以案例熟悉

案例名字&#xff1a;宠物商店系统 课程来源&#xff1a;点击跳转 信息->概念模型->数据模型->数据库结构模型 将现实世界中的信息转换为信息世界的概念模型&#xff08;E-R模型&#xff09; 业务逻辑 构建 E-R 图 确定三个实体&#xff1a;用户、商品、订单

go-fastdfs分布式文件存储集群搭建和测试

一、官方文件 https://sjqzhang.github.io/go-fastdfs/#character2、集群原理 小集群原理&#xff1a; 大集群原理 二、服务端集群部署 1、在集群每个节点机器上下载安装包 (建议使用最新稳定版本&#xff09; wget --no-check-certificate https://github.com/sjqzhang/go…

使用 wxPython 在 Windows 11 中实现任务栏通知功能

引言&#xff1a; 随着 Windows 11 的发布&#xff0c;用户对于更加智能、个性化的体验有了更高的期望。其中&#xff0c;任务栏通知功能成为了一个备受关注的特性。在本篇博客中&#xff0c;我们将介绍如何使用 wxPython 模块&#xff0c;在 Windows 11 中实现任务栏通知功能。…

2023年第二十届中国研究生数学建模竞赛总结与分享

今天是国庆节&#xff0c;祝祖国繁荣富强。正好也学习不下去&#xff0c;就想着写写博客&#xff0c;总结一下自己在参加2023年第20届中国研究生数学建模比赛的一些感受。 目录 1.基本介绍 2.比赛分享 1.基本介绍 1. 竞赛时间&#xff1a;竞赛定于2023年9月22日8:00至2023年9…

26 docker前后端部署

[参考博客]((257条消息) DockerNginx部署前后端分离项目(SpringBootVue)的详细教程_在docker中安装nginx实现前后端分离_这里是杨杨吖的博客-CSDN博客) (DockerNginx部署前后端分离项目(SpringBootVue)) 安装docker # 1、yum 包更新到最新 yum update # 2、安装需要的软件包…

Hudi第二章:集成Spark(二)

系列文章目录 Hudi第一章&#xff1a;编译安装 Hudi第二章&#xff1a;集成Spark Hudi第二章&#xff1a;集成Spark(二) 文章目录 系列文章目录前言一、IDEA1.环境准备2.代码编写1.插入数据2.查询数据3.更新数据4.指定时间点查询5.增量查询6.删除数据7.覆盖数据 二、DeltaStre…

【sql注入】如何通过SQL注入getshell?如何通过SQL注入读取文件或者数据库数据?一篇文章告诉你过程和原理。sql注入【二】

前言 本篇博客主要是通过piakchu靶场来讲解如何通过SQL注入漏洞来写入文件&#xff0c;读取文件。通过SQL输入来注入木马来getshell等&#xff0c;讲解了比较详细的过程&#xff1b; 如果想要学习SQL注入原理以及如何进行SQL注入&#xff0c;我也写了一篇详细的SQL注入方法及…

国庆作业 day 10.1

使用select完成TCP并发服务器 #include "myhead.h" #define ERR_MSG(msg) do{\printf("%d\n",__LINE__);\perror(msg);\ }while(0) #define PORT 3696 #define IP "192.1168.10.22" int main(int argc, const char *argv[]) { //套接字int sfd…

使用 sonarqube 进行代码质量检查

Docker 环境准备 参考官方文档先对 Docker Server 进行参数调整 Because SonarQube uses an embedded Elasticsearch, make sure that your Docker host configuration complies with the Elasticsearch production mode requirements and File Descriptors configuration. # …

Wing FTP Server安装配置结合内网穿透实现公网访问本地站点

Wing FTP Server安装配置结合内网穿透实现公网访问本地站点 文章目录 Wing FTP Server安装配置结合内网穿透实现公网访问本地站点前言1.Wing FTP Server下载安装2.Wing FTP Server配置部署3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3…

【kubernetes】kubernetes中的Deployment使用

1 Why need Deployment? K8S中Pod是用户管理工作负载的基本单位&#xff0c;Pod通常通过Service进行暴露&#xff0c;因此&#xff0c;通常需要管理一组Pod&#xff0c;RC和RS主要就实现了一组Pod的管理工作&#xff0c;其中&#xff0c;RC和RS的区别在于&#xff0c;RS提供更…

C++ - 开散列的拉链法(哈希桶) 介绍 和 实现

前言 之前我们介绍了&#xff0c;闭散列 的 开放地址法实现的 哈希表&#xff1a;C - 开放地址法的哈希介绍 - 哈希表的仿函数例子_chihiro1122的博客-CSDN博客 但是 闭散列 的 开放地址法 虽然是哈希表实现的一种&#xff0c;但是这种方式实现的哈希表&#xff0c;有一个很大的…

使用sqlmap获取数据步骤

文章目录 1.使用sqlmap获取所有数据库2.使用sqlmap获取当前连接数据库3.使用sqlmap获取当前数据库下所有表名4.使用sqlmap获取当前数据库下某个表下所有列名5.使用sqlmap获取当前数据库下某个表下指定字段的数据6.测试当前用户是否是管理员7.使用burpsqlmap批量检测8.脱库命令9…