Java学习 - Redis-Sentinel

主从复制存在的问题与解决

  • 问题
    • 发生故障时,需要手动进行故障转移
    • 写能力和存储能力受限
  • 解决
    • redis官方推出redis-sentinel
    • 可以自动实现主从复制的故障恢复
    • 用于实现redis的高可用

redis-sentinel简介

  • sentinel是特殊的redis,不存储数据,支持的命令很有限

  • 默认端口 26379

  • 架构图

    在这里插入图片描述

redis-sentinel故障转移流程

  1. sentinel层中多个sentinel发现master节点发生异常
  2. sentinel层选举中一个sentinel作为领导者
  3. sentinel领导者选举出一个slave节点为新的master节点
  4. sentinel层通知其他的slave成为新master节点的slave
  5. sentinel层通知客户端主从节点发生了改变
  6. 等待旧master复活成为新master的slave

redis-sentinel配置与使用

  • 先设置好主从复制,即一个master,以及一个或多个slave

  • 启动redis-sentinel

    >> redis-sentinel redis-sentinel-26381.conf
    
  • 查看sentinel状态

    redis-cli -h 127.0.0.1 -p 26389 info sentinel
    
  • sentinel配置

    配置项配置说明
    daemonize yes|no是否以守护进程方式启动sentinel
    portsentinel占用端口
    dirsentinel工作目录
    logfilesentinel日志文件名
    pidfilesentinel进程文件名
    sentinel monitor mymaster 127.0.0.1 7000 2主节点主机和端口,多少个sentinel认为有问题
    sentinel down-after-milliseconds mymaster 3000030秒不通,则认为有问题
    sentinel parallel-syncs mymaster 1故障恢复时,一次复制1个
    sentinel failover-timeout mymaster 180000

redis-sentinel的redigo使用

TODO

redis-sentinel的原理【选学】

主观下线和客观下线
  • 主观下线:一个sentinel节点认为某个redis节点失败
  • 客观下线:超过指定数目的sentinel节点都认为某个redis节点失败
三个定时任务
  • 每10秒每个sentinel对master和slave执行info命令
    • 掌控整个体系中的redis,以及它们的关系
  • 每2秒每个sentinel通过master节点的channel交换信息
    • 通过_sentinel_:hello频道交互
    • 交互对节点的"看法"和自身信息
  • 每1秒每个sentinel向其他sentinel和redis执行ping
    • 心跳检测,判断其他的sentinel和redis是否还正常工作
领导者选举
  1. 每个做客观下线的sentinel节点向其他sentinel节点发送命令sentinel is-master-down-by-add,请求成为领导者
  2. 受到命令的sentinel节点如果没有同意其他sentinel节点发送的命令,那么将同意改请求,否则拒绝
  3. 如果sentinel发现自己的票数已经超过半数,则将成为领导者
  4. 如果此过程中有多个sentinel成为领导者,则等待一段时间后重新进行选举
新master节点的选择
  • 这个操作由sentinel领导者完成
  • 选择标准
    1. 如果redis节点有设置slave-priority,则选择最高那个,否则下一步
    2. 选择复制偏移量最大的redis节点,如果不存在,则下一步
    3. 选择runid最小那个redis节点

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

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

相关文章

设计模式之【工厂模式、适配器模式】

工厂模式(Factory Pattern) 定义: 工厂模式是一种创建型设计模式,它提供了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法使一个类的实例化延迟到其子类。 主要类型: 简单工厂模式&…

微信小程序根据蓝牙RSSI信号强度测试设备距离

背景 在做小程序连接蓝牙设备的时候,有需求表明在搜索到0.5米之内的设备时自动连接 问题: 蓝牙模组只提供了RSSI信号强度,那又该如何计算蓝牙设备距离小程序的距离呢? 解决方案 通过以下公式做大量测试:求 A、n 的平均…

​​Linux(CentOS)​​同步服务器时间之~​​chrony​​

Chrony 是一款开源的网络时间协议(NTP)客户端和服务端软件,旨在提供高精度的时间同步功能。相较于传统的 NTP 实现如 ntpd,Chrony 提供了一些改进和优势,包括更快的同步速度、低延迟、低CPU占用和低内存消耗。以下是 Chrony 的几个关键特性和…

DIY:在您的 PC 上本地使用 Stable Diffusion AI 模型生成图像

前言 随着DALL-E-2和Midjourney的发布,您可能听说过最近 AI 生成艺术的繁荣。这些人工智能模型如何在几秒钟内创造性地生成逼真的图像,这绝对是令人兴奋的。您可以在这里查看其中的一些:DALL-E-2 gallery和Midjourney gallery 但是这些模型…

js将阿拉伯数字转为中文数字(阿拉伯数字转为金额数字,包含大写中文数字)

在之前常用的金额数字的格式化方法 里边有金额数字的格式化,以及阿拉伯数字转为中文大写金额数字的方法,在一些使用中文小写数字的时候就不适用,这里将方法进行了扩展使用更加完善 代码直接放到下方,可以直接封装成一个numberToC…

【机器学习】自然语言处理的新前沿:GPT-4与Data Analysis

目录 1、生成二维码Prompt:请用二维码编码这个信息,我爱chatgpt2、分析PDFPrompt:请分析这篇pdf的主要内容,用中文输出分析结果,100字3、设计网站Prompt:请帮我设计一个网站,网站的主题是哪吒玩…

分享10个AI搞钱副业,门槛低,普通人也能学的会!易上手!

前言 本期给大家分享的是利用AI 做副业的一些方法,大家可以挑选适合自己的赛道去搞钱 现在是人工智能时代,利用好AI 工具,可以降低普通人做副业的门槛,同时也能提高工作效率, 因此AI 赚钱的副业还是挺多的&#xff0…

测量无人船作业流程是怎样的?

在一些特殊水域测量作业中,使用有人船进行测量时受阻较多,而采用无人测量船则效率就非常高了,它是解决复杂水域测量问题最直接最有效的方式。那么,测量无人船作业流程是怎样的?下面就让小编来为大家简单介绍一下&#…

代码随想录算法训练营Day52|647.回文子串、516.最长回文子序列

回文子串 647. 回文子串 - 力扣(LeetCode) 暴力解法 遍历字符串中的所有子串,并判断是否为回文串,若为回文串,则要返回的结果1,最后返回所要求的结果,神奇的事居然能过,虽然时间和…

Java SE入门及基础(57) Java常用API 日期时间

目录 日期时间 1. Date 类 常用方法 示例 思考: 2. SimpleDateFormat 类 常用方法 常用日期格式 示例 3. Calendar 类 常用静态字段 常用方法 示例 日期时间 1. Date 类 常用方法 public Date (); // 无参构造,表示计算机系统当前时间…

PFA样品瓶带氟树脂接头试剂瓶可定制接1/4英寸管300ml

PFA带接头试剂瓶,也称作特氟龙洗气瓶,材质有PFA(可溶性聚四氟乙烯)和FEP(聚全氟乙丙烯),市场上一般问的聚四氟乙洗气瓶就是PFA洗气瓶,造型上有是2个管子接入瓶内,长进短出,带有四氟滤球,管子尺寸…

手持小风扇哪个牌子比较好?五大热门手持小风扇品牌推荐

炎炎夏日,真的需要一款随身小风扇来拯救我们的高温困境!不过,市面上的选择太多了,真的让人眼花缭乱。今天,我就给大家快速推荐五款热门的手持小风扇,它们不仅轻便易携,而且各有特色。有的是风力…

根据个人情况选择院校和专业的10大建议收藏

选择院校和专业是一个重要的决定,需要综合考虑个人情况、兴趣、职业规划以及家庭背景等多方面因素。这个口诀提供了一个简单的框架,但每个人的情况都是独特的,最终的选择应该基于个人的全面考虑。 家里有钱,学校优先:…

下穿隧道结构安全该如何保证,检测跟自动化监测该如何抉择

隧道监测背景: 隧道所处的地下环境较为复杂,易受地质条件恶化、结构损伤、退化失稳以及自然灾害等因素影响,引发隧道拱顶开裂、边墙开裂、衬砌损坏、隧道渗漏水、围岩大变形等病害,从而导致隧道安全事故发生,尤其在长期…

Flat Ads:拥抱 CTV,品牌增长新动力

近年来,CTV(联网电视)在数字营销界正迅速崛起,成为最受青睐和增长迅猛的推广形式之一。 随着更多联网设备的普及,越来越多观众正在从传统电视快速转移到流媒体环境,对传统电视广告取而代之的便是 CTV 广告。据 eMarketer 数据显示,未来四年,CTV 市值将从今年的 250 亿美元增长到…

JupyterServer配置

1. 安装jupyter ​pip install jupyter -i https://pypi.tuna.tsinghua.edu.cn/simple --default-timeout1000 2. 生成配置 jupyter notebook --generate-config 3. 修改配置,设置密码 获取密码的方式:命令行输入python后,用以下方式获…

大疆车载的第一款油车智驾:上汽大众途观L Pro的智能辅助驾驶系统

引言 在自驾行业中,有一个低调但迅速崭露头角的选手——大疆车载。自2016年成立以来,大疆车载(现已更名为卓御)通过其先进的智能驾驶技术,逐渐在市场上赢得了声誉。此次,上汽大众途观L Pro成为大疆车载首款…

一文带你彻底搞懂设计模式之单例模式!!由浅入深,图文并茂,超超超详细的单例模式讲解!!

一文带你彻底搞懂设计模式之单例模式! 一、什么是单例模式?单例模式分类饿汉式创建单例对象懒汉式创建单例对象 多问一个为什么? 二、为什么要有单例模式?使用单例模式的原因单例模式的应用场景 三、多线程下的单例模式饿汉式懒汉…

liunx各种版本配置静态网卡

文章目录 @[toc]一、centos二、 ubuntu20.04三、统信四、欧拉五、麒麟一、centos #系统版本 [root@localhost ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID=&quo…