概述

sentinel哨兵是特殊的redis服务,不提供读写服务,主要用来监控redis实例节点。如果redis的主节点挂掉,利用哨兵机制,可以从剩下的从节点中选出主节点,弥补了上一节讲的主从复制架构不能自动选举主节点的难处。
有了sentinel哨兵之后,客户端第一次不会主动去找redis的主节点,而是去访问哨兵主节点的ip与端口,之后客户端就直接访问redis的主节点。
当redis的主节点发生变化,哨兵会第一时间感知到,并且将新的redis 主节点通知给client端。
redis的主目录下有sentinel哨兵的配置文件,src目录下有哨兵的启动服务。

redis哨兵架构搭配步骤

1.
#复制一份sentinel.conf文件
cp sentinel.conf sentinel_26379.conf 2.
#将相关配置修改为如下值:port 26379 daemonize yes pidfile "/var/run/redis‐sentinel_26379.pid" logfile "26379.log" dir "/usr/local/redis‐5.0.2/data" # sentinel monitor <master‐name> <ip> <redis‐port> <quorum> # quorum是一个数字,指明当有多少个sentinel认为一个master失效时(值一般为:sentinel总数/2 + 1),master才算真正失效sentinel monitor mymaster 192.168.20.136 6379 2  3.
#启动sentinel哨兵实例
src/redis‐sentinel sentinel‐26379.conf4.
#查看sentinel的info信息
src/redis‐cli ‐p 26379
127.0.0.1:26379>info
可以看到Sentinel的info里已经识别出了redis的主从5.可以自己再配置两个sentinel,端口26380和26381,注意上述配置文件里的对应数字都要修改

搭建结果


一个主节点,两个从节点,三个哨兵

哨兵的Jedis连接代码

public class JedisSentinelTest {public static void main(String[] args) {JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();jedisPoolConfig.setMaxTotal(20);jedisPoolConfig.setMaxIdle(10);jedisPoolConfig.setMinIdle(5);Set<String> sentinels = new HashSet<>();sentinels.add(new HostAndPort("192.168.20.136", 26379).toString());sentinels.add(new HostAndPort("192.168.20.136", 26380).toString());sentinels.add(new HostAndPort("192.168.20.136", 26381).toString());//JedisSentinelPool其实本质跟JedisPool类似,都是与redis主节点建立的连接池//JedisSentinelPool并不是说与sentinel建立的连接池,而是通过sentinel发现redis主节点并与其建立连接 //masterName需要与哨兵的配置文件中配置的主节点名称一致String masterName = "mymaster";JedisSentinelPool jedisSentinelPool = new JedisSentinelPool(masterName, sentinels,jedisPoolConfig, 3000, null);Jedis jedis = null;try {jedis = jedisSentinelPool.getResource();System.out.println(jedis.set("sentinel", "zhangsan")); System.out.println(jedis.get("sentinel"));} catch (Exception e) {e.printStackTrace();} finally {//注意这里不是关闭连接,在JedisPool模式下,Jedis会被归还给资源池。if(null != jedis)jedis.close();}}
}

10.Redis哨兵架构相关推荐

  1. Redis 哨兵架构

    Redis 哨兵架构 1. 主从复制架构的局限 2. 哨兵架构 3. 哨兵工作步骤 4. 获取主服务器信息 5. 获取从服务器信息 6. 向主服务器和从服务器发送信息 7. 接受来自主服务器和从服务器 ...

  2. Redis 哨兵架构基础

    点击赠书:聊聊「分布式架构」那些事儿 1. 哨兵的介绍 sentinel , 中文是哨兵. 哨兵是redis 集群架构中非常重要的一个组件,主要功能如下: (1)集群监控:负责监控reidis mas ...

  3. 【redis学习篇】哨兵架构详解

    一.哨兵架构概要 sentinel哨兵是特殊的redis服务,不提供读写服务,主要用来监控redis实例节点. sentinel实时监视主从集群,能实时知道哪个节点是主节点,哪些是从节点,哨兵架构下c ...

  4. Redis深入理解五 :Redis主从架构、哨兵架构、高可用集群模式

    redis主从架构 redis主从架构搭建,配置从节点步骤: 复制一份redis.conf文件 将相关配置修改为如下值: port 6380 pidfile /var/run/redis_6380.p ...

  5. Redis学习(一)之 持久化、主从与哨兵架构

    jiaruredis持久化 RDB快照:在默认情况下, Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中. 你可以对 Redis 进行设置, 让它在" N 秒内数据 ...

  6. k8s redis集群_基于K8S部署redis哨兵集群

    本 文 主 要 内 容 什么是Kubernetes分布式容器管理平台 PaaS平台redis-sentinel集群架构简介 PaaS平台部署redis哨兵集群 redis-sentinel容器测试及验 ...

  7. REDIS哨兵【Sentinel】模式+哨兵的核心知识点+redis哨兵主从切换的数据丢失问题+上一章铺垫的【异步复制数据丢失问题】+【集群脑裂】

    1.redis哨兵模式的前言: 一年一度的问题来了,为啥子要用redis的哨兵模式的呢? 简单粗暴的理解下子,顺带开个玩笑,没有理解好,还望不要见笑: 其实redis的哨兵模式,个人理解:只是说法搞大 ...

  8. 基于docker搭建redis哨兵模式

    github学习笔记 Redis 哨兵架构 1. redis 哨兵模式介绍 1) 哨兵模式是Redis的高可用方式,哨兵节点是特殊的redis服务,不提供读写服务,主要用来监控redis实例节点.2) ...

  9. 解锁新技能《docker如何搭建Redis哨兵模式》

    在我们搭建Redis哨兵架构时我们先了解一些Redis及其相关的一些知识: 问题:Redis是什么? Redis是C语言开发的一个开源的,遵从BSD协议的高性能键值对(key-value)内存数据库, ...

最新文章

  1. ASP.NET 2.0实现自带TreeView的客户端连带选择
  2. 键盘谍影 键盘监视器的原理和防范
  3. python创建只包含一个元素的元组时_Python 创建包含列表的元组
  4. 14.5.3 Locks Set by Different SQL Statements in InnoDB
  5. Ubuntu 中启用 root 帐号
  6. OAM深入解读:使用OAM定义与管理Kubernetes内置Workload
  7. 沣西新城大数据产业园:打造大数据全生态链
  8. HTML5 Canvas中创建图像数据
  9. CryptoPunks历史总交易额达1亿美元,近30天交易涨幅超900%
  10. ducument.ready不生效的问题 ruby on rails
  11. idea的debug基本用法快捷键
  12. opengl 纹理贴到对应的位置_OpenGL常用命令备忘录(Part B)
  13. 【MATLAB】代码分享:matlab将word文档转为pdf输出
  14. 电脑断电word文档不见了恢复
  15. 弗兰克·盖里为华纳兄弟设计新总部,犹如漂浮在高速公路的‘冰山’
  16. SAP APO 取订单函数(取计划订单数据一)
  17. 基于Python的个人博客系统设计与实现 报告+项目源码
  18. opencv3--学习笔记(彩色图片直方图均衡化的彩色输出图)
  19. WinUsb_ReadPipe和WinUsb_WritePipe函数功能理解
  20. 【2021-07-31 更新】【梳理】简明操作系统原理 第十九章 身份认证和访问控制(docx)

热门文章

  1. 解决fonts.gstatic.com无法访问
  2. ELK 搭建日志分析系统 + Zipkin服务链路追踪整合
  3. saltstack(自动化运维工具)——介绍、安装、部署+远程执行
  4. 2019,我是如何转向战略成功,并成功跑通一个现金流项目的
  5. 内资公司注销所需资料有哪些?
  6. [转贴]我们需要一个什么样的证监会
  7. VueRouter — vue路由hash模式和history模式
  8. vue+element实现图片上传及裁剪功能(vue-cropper)
  9. 硬件测试和软件测试,到底有啥区别? 新人该怎么学习入门
  10. 基于 SpringBoot+Vue+Java 的智慧外贸系统(数据库,附源码,教程)