Redis高可用集群方案
Redis为我们提供了哨兵,它就像一个为我们的Redis服务站岗的人,当主服务器发生异常时,他会通过投票的方式,将从服务节点升为主服务节点。当我们处理好主节点故障并重启时,原来挂掉的主节点,作为新的主节点的子节点。
为了在本机测试,首先我在6379,6380,6381节点上开启三个redis服务,6379做为master节点,6380和6381作为其从服务节点。关于主从的配置如果有疑问的话请看我的这篇文章https://www.cnblogs.com/tdws/p/5705782.html。
下面你需要再将redis文件夹机器内容复制出一份,我将其文件夹命名为Sentinel.
我们将其配置文件最后,增加如下配置信息。配置信息配置了哨兵端口5000,我们的redis客户端,比如C#的stackservice,stackExechange,可以从哨兵中读取当前集群情况,也就是说主挂后,我们客户端都可以获取到信息,并且从新的服务节点及端口中进行键值的操作。另外配置文件说到,主服务节点为6379,并且多个哨兵时,得到哨兵们的投票为1票时就认为主节点失联,可切换从节点为主。
down-after-milliseconds 指明尝试多少毫秒无反应,哨兵认为其失联。
parallel-sync指明当故障发生时,允许有多少个从节点,同时从新的主节点同步数据。这个配置意义在于,你这个值设置的越小,所有从节点同步时间也就越久,比如如下配置,每次只能同步一个,从节点越多,自然也就越久。那么这个值设置的大,或造成什么影响,这取决于我们的配置文件,我们可以配置在从同步主节点时,以旧的数据提供给客户端,在同步完成后,提供新数据,这样不会造成从节点同步期间不可用的情况。而然而,在同步完成后,需要删除旧的数据,加载新的数据,在这短暂的期间,还是会有从节点不可用的情况发生。
port 5000
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
sentinel parallel-syncs mymaster 1
下面就到了我们启动sentinel(哨兵)的时候了!
同样切换到Sentinel文件夹目录下,执行命令
这样一来,哨兵"观察站"启动了。
首先我们展示下正常情况,主从的复制以及读写情况。
上图主节点写入新键。下图在两个从节点读取数据。
接下来,我们看一下主节点挂掉之后,会发生什么。我将主节点服务关闭。
我们之前的只读从节点,现在已经升为可写的主节点了!
Redis高可用集群方案的更多相关文章
- Redis高可用集群方案——哨兵
本篇文章版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文系列地址http://www.cnblogs.com/tdws/tag/NoSql/ 本人之前有篇文章,讲到了redis主从复制,读写分 ...
- sentinel监控redis高可用集群(一)
一.首先配置redis的主从同步集群. 1.主库的配置文件不用修改,从库的配置文件只需增加一行,说明主库的IP端口.如果需要验证的,也要加多一行,认证密码. slaveof 192.168.20.26 ...
- Redis 高可用集群
Redis 高可用集群 Redis 的集群主从模型是一种高可用的集群架构.本章主要内容有:高可用集群的搭建,Jedis连接集群,新增集群节点,删除集群节点,其他配置补充说明. 高可用集群搭建 集群(c ...
- Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】
No cross,no crown . 不经历风雨,怎么见彩虹. Redis哨兵模式,用现在流行的话可以说就是一个"哨兵机器人",给"哨兵机器人"进行相应的配置 ...
- 基于docker实现redis高可用集群
基于docker实现redis高可用集群 yls 2019-9-20 简介 基于docker和docker-compose 使用redis集群和sentinel集群,达到redis高可用,为缓存做铺垫 ...
- (六) Docker 部署 Redis 高可用集群 (sentinel 哨兵模式)
参考并感谢 官方文档 https://hub.docker.com/_/redis GitHub https://github.com/antirez/redis happyJared https:/ ...
- activemq+Zookeper高可用集群方案配置
在高并发.对稳定性要求极高的系统中,高可用的是必不可少的,当然ActiveMQ也有自己的集群方案.从ActiveMQ 5.9开始,ActiveMQ的集群实现方式取消了传统的Master-Slave方式 ...
- Mycat节点扩缩容及高可用集群方案
数据迁移与扩容实践: 工具目前从 mycat1.6,准备工作:1.mycat 所在环境安装 mysql 客户端程序. 2.mycat 的 lib 目录下添加 mysql 的 jdbc 驱动包. 3.对 ...
- LVS+Heartbeat 高可用集群方案操作记录
之前分别介绍了LVS基础知识和Heartbeat基础知识, 今天这里简单说下LVS+Heartbeat实现高可用web集群方案的操作说明. Heartbeat 项目是 Linux-HA 工程的一个组成 ...
随机推荐
- uva 796 C - Critical Links(tarjan求桥)
题目链接:https://vjudge.net/contest/67418#problem/C 题意:求出桥的个数并且按顺序输出 题解:所谓桥就是去掉这条边后连通块增加,套用一下模版就行. #incl ...
- CH 4302 Interval GCD 题解
题意 给定一个长度为N的数列A,以及M条指令 (N≤5* 10^5, M<=10^5),每条指令可能是以下两种之一: "C l r d",表示把 A[l],A[l+1],-, ...
- 关于C语言\b \t \n及转义序列的理解
转义序列 说明 \b 后退一格(Backspace) \t 水平制表(Tab=4个空格) \v 垂直制表 \r 回车(Enter) \f 换页 \a 发出鸣响 \n 换行 \" 输出/输入双 ...
- UI自动化测试养成记
<selenium自动化测试实战>PDF文档下载:https://pan.baidu.com/s/16dt8qPi-C4BOgKe6snAA0A 这几个月我都干了些什么? 当我打算写一本& ...
- jumper-server-第一次粗略配置
https://www.cnblogs.com/zsl-find/articles/11179450.html
- 人体行为识别(骨架提取),搭建openpose环境,VS2019(python3.7)+openpose
这几天开始接触人体行为识别,经过多方对比后,选择了现在最热的人体骨架提取开源库,openpose. 下面就不多说了,直接开始openpose在win10下的配置: 需求如下:1. VS2019 ...
- [kuangbin带你飞]专题一 简单搜索 题解报告
又重头开始刷kuangbin,有些题用了和以前不一样的思路解决.全部题解如下 点击每道题的标题即可跳转至VJ题目页面. A-棋盘问题 棋子不能摆在相同行和相同列,所以我们可以依此枚举每一行,然后标记每 ...
- POJ - 3984 迷宫问题 (搜索)
Problem Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, ...
- PTA A1014
A1014 Waiting in Line (30 分) 题目内容 Suppose a bank has N windows open for service. There is a yellow l ...
- Integer对象大小比较问题
一.问题 先来看一看例子 public class IntegerTest { public static void main(String[] args) throws Exception { In ...