Redis集群策略主要有:

  • 哨兵模式
  • 主从复制(在windows上搭建redis集群(主从复制))
  • 集群 (在windows上搭建redis集群(Redis-Cluster))
  • 分片

本文主要讲解如何搭建哨兵模式。

**********************************************************************************************************************************************

采用一主(MASTER)二从(SLAVE)三哨兵(SENTINEL)的架构

**********************************************************************************************************************************************

一、下载安装Redis

redis下载地址

https://github.com/MicrosoftArchive/redis/releases

1)下载Redis-x64-3.2.100.zip。

2)解压文件,复制两份并重命名,形成三个文件夹:master_6379、salve_6380、slave_6381

二、配置文件

1)主从配置

1.1  master_6379文件夹中redis.windows.conf文件配置

port 6379

1.2 slave_6380文件夹中redis.windows.conf文件配置

port 6380
                 slaveof 127.0.0.1 6379

1.3 slave_6381文件夹中redis.windows.conf文件配置

port 6381
                 slaveof 127.0.0.1 6379

2)哨兵配置

每一个redis目录中都创建一个文sentinel.conf文件

2.1 master_6379的sentinel.conf文件配置如下

#当前Sentinel服务运行的端口
port 26379
#master
#Sentinel去监视一个名为mymaster的主redis实例,这个主实例的IP地址为本机地址127.0.0.1,端口号为6379,
#而将这个主实例判断为失效至少需要2个 Sentinel进程的同意,只要同意Sentinel的数量不达标,自动failover就不会执行
sentinel monitor mymaster 127.0.0.1 6379 1
#指定了Sentinel认为Redis实例已经失效所需的毫秒数。当 实例超过该时间没有返回PING,或者直接返回错误,那么Sentinel将这个实例标记为主观下线。
#只有一个 Sentinel进程将实例标记为主观下线并不一定会引起实例的自动故障迁移:只有在足够数量的Sentinel都将一个实例标记为主观下线之后,实例才会被标记为客观下线,这时自动故障迁移才会执行
sentinel down-after-milliseconds mymaster 5000
#指定了在执行故障转移时,最多可以有多少个从Redis实例在同步新的主实例,在从Redis实例较多的情况下这个数字越小,同步的时间越长,完成故障转移所需的时间就越长
sentinel config-epoch mymaster 12
#如果在该时间(ms)内未能完成failover操作,则认为该failover失败
sentinel leader-epoch mymaster 13

2.2 slave_6380中的sentinel.conf文件配置

#当前Sentine2服务运行的端口
port 26479
#slave1
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel config-epoch mymaster 12
sentinel leader-epoch mymaster 13

2.3 slave_6381中的sentinel.conf文件配置

#当前Sentine3服务运行的端口
port 26579
#slave2
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel config-epoch mymaster 12
sentinel leader-epoch mymaster 13

三、启动服务

1)编写启动redis脚本

编写一个 bat 来启动 redis,在每个节点目录下建立 startup.bat,内容如下:
        title master_6379
        redis-server.exe redis.windows.conf

编写一个 bat 来启动 sentinel,在每个节点目录下建立 startup_sentinel.bat,内容如下:

title master_6379
        redis-server.exe sentinel.conf --sentinel

title命名规则 redis文件夹名, 注意“--sentinel”不是注释,必须存在。

另外启动sentinel还可以使用 redis-sentinel sentinel.conf 命令来启动

2)或者直接代码启动redis

启动redis成功:

master 6379

slave 6380

slave 6381

启动sentinel成功

sentinel 26379

sentinel 26479

sentinel 26579

四 测试服务

1) 查看redis服务状态,命令: info replication

master 6379

slave 6380

slave 6381

2)查看sentinel的状态,命令: info sentinel

3) redis主从自动failover测试

停止master服务器,查看剩余服务器的状态

slave 6380

slave 6381

从上图中可以看出来,master的服务器端口从6379变成了6380,也就是说redis自动的实现了主从切换,

我们可以在查看下sentinel的状态,如下:

我们发现sentinel监控到127.0.0.1:6379已经无法ping通了,切换master服务器为127.0.0.1:6380

在windows上搭建redis集群(Redis-Sentinel)相关推荐

  1. Windows下搭建Tomcat集群的配置详解

    < Windows下搭建Tomcat集群基础入门详解 > 前言 在搭建 < Apache + Tomcat 实现Web服务器集群 > 前我们还需要实现 Tomcat集群实现Se ...

  2. windows下搭建mysql集群_Windows下搭建MySQL集群

    本文将讨论在Windows下搭建MySQL集群的步骤和搭建过程中应当注意的问题. 由于机器数量和性能有限,搭建环境为一台宿主机(IP:10.200.178.191),一台虚拟机(IP:10.200.1 ...

  3. 微信公众号 多台服务器,在多台 Linux 服务器上搭建 Pulsar 集群

    作者:高天赐 编辑:Irene Pulsar 是一个支持多租户的.高性能的消息中间件.上一篇我们介绍了如何在 Mac 上搭建 Pulsar 集群,本文详细介绍如何在 3 台 Linux 服务器上搭建 ...

  4. 玩转 Redis 集群之 Sentinel

    Redis作为内存数据库,需要具备高可用的特点,不然如果服务器宕机,还在内存里的数据就会丢失.我们最常用的高可用方法就是搭建集群,master机器挂了,可以让slave机器顶上,继续提供服务.但是Re ...

  5. 玩转Redis集群之Sentinel

    Redis作为内存数据库,需要具备高可用的特点,不然如果服务器宕机,还在内存里的数据就会丢失.我们最常用的高可用方法就是搭建集群,master机器挂了,可以让slave机器顶上,继续提供服务.但是Re ...

  6. 单机上搭建Node集群

    搭建Node集群需要复制进程,而且通过主从模式并行处理业务.主进程不负责具体的业务处理,而是负责调度或管理工作进程,它是趋向于稳定的.工作进程负责具体的业务处理. 关于本 Node 进程的介绍请看No ...

  7. CentOS7上搭建Hadoop集群(入门级)

    场景 Hadoop Apache Hadoop是一款支持数据密集型分布式应用并以Apache 2.0许可协议发布的开源软 件框架,支持在商品硬件构建的大型集群上运行应用程序.Hadoop是根据Goog ...

  8. 在Ubuntu18上搭建K8s集群(1.19.3)

    环境准备 为了演示简单,准备两台4GB内存,20GB硬盘的虚拟机,操作系统为ubuntu18.04-server 角色 IP HostName Master 192.168.47.144 master ...

  9. CentOS 7 上搭建 ZooKeeper 集群

    ZooKeeper 是什么? ZooKeeper 是分布式系统中的分布式协调服务,用于实现分布式同步,维护配置信息,分组和命名服务. 软件版本: CentOS 7.9 ZooKeeper 3.5.5 ...

  10. 在Hadoop集群上,搭建HBase集群

    (1)下载Hbase包,并解压:这里下载的是0.98.4版本,对应的hadoop-1.2.1集群 (2)覆盖相关的包:在这个版本里,Hbase刚好和Hadoop集群完美配合,不需要进行覆盖. 不过这里 ...

最新文章

  1. 如何用ping来测试Azure虚机网络延迟的监测工作
  2. SharePoint服务器如果需要安装杀毒软件, 需要注意什么?
  3. Unity Shader基本例子
  4. 解释spring,struts,hibernate优缺点
  5. 消消乐实现下坠_JavaScript有多强大,实现消消乐小游戏
  6. php 100万数据,关于批量插入数据之我见(100万级别的数据,mysql)
  7. 【白皮书分享】智能文字识别(OCR)能力评测与应用白皮书.pdf(附下载链接)...
  8. LINUX C系统编程与PYTHON中的时间模块对比
  9. 小乌龟解决反向线上代码冲突
  10. C语言深入学习系列 - 字节对齐内存管理
  11. CSDN 支持的<markdown格式>表情包大全分享
  12. 手把手教你:CSS+JS 打造一个有个性的滚动条
  13. 动态规划法——常见题型及算法思路
  14. 如何加速香港主机运行系统
  15. 文科背景去德国学计算机,文科生留学德国的现状是怎样的
  16. 你了解这么多万兆以太网规范吗?
  17. Eclipse 导入工程乱码的问题之解决方法
  18. 【愚公系列】华为云轻应用之手把手教你用搭一个WeLink上的出差应用丨【AppCube X WeLink双剑合璧】
  19. 毕设题目:Matlab车道线检测
  20. 阿里云机器学习平台PAI的视频介绍(其中tensorflow高级教程有tf的代码优化讲解)

热门文章

  1. 陈年牵手徐静蕾之一箭双雕
  2. spring boot web 开发示例
  3. feign请求的封装
  4. js f12就关闭标签、禁止右击,感兴趣的可以看一下
  5. 一直处于building “XXX”gradle project info
  6. PHP3.2配置文件使ini文件配置
  7. 易乐游无盘服务器缓存设置,易乐游缓存设置图文教程
  8. Hyper-v 开启嵌套虚拟化的方法
  9. 打造属于自己的Vim神器
  10. Spring Boot注解详解