假如把Redis服务器们拉到一个群,看看他们是怎么工作的?
我是Redis,一个叫Antirez的男人把我带到了这个世界上。
那天,Redis基友群里,许久未见的大白发来了一条消息···


于是,大白拉了一个新的群

以后的日子中,咱们哥仨相互配合,日常工作中最多的就是数据同步了

如果主节点有数据写入、删除、修改命令,也会把这些命令挨个通知到从节点,我们把这叫做命令传播。

通过这样的方式,我们主节点与从节点之间数据就能保持同步了~
有一次,我不小心掉线了~



我们用上了新的数据同步策略,效率高了不少,就算偶尔掉个线,也能很快把缺失的数据给补上。
就这样过了一段时间···


新添了人手,我们准备大干一场!
为了及时获得和更新主从节点的信息,咱们哨兵每隔十秒钟就要用INFO命令去问候一下主节点,主节点会告诉我他有哪些从节点

为了更加及时知道大家是否掉线,咱们哨兵每隔一秒都要用PING命令问候一下群里的各个小伙伴:


如果在设置的时间里没有收到回复,我就知道这家伙多半是跪了,就该启动故障转移了
不过这只是我的主观意见,光我一个人说了不算,为了防止误判,我还得去管理员小群里征求一下大家的意见:




接下来,咱们就开始了第一次选举。



经过一番努力,我终于完成了故障转移,现在R2是主节点了。
不过没过多久,R1又回来了:

以上就是我们的日常工作了,通过咱们几个小伙伴的齐心协力,构成了一个高可用的缓存服务,MySQL大哥再也不敢小瞧我们了。

【完】
往期TOP5文章

假如把Redis服务器们拉到一个群,看看他们是怎么工作的?的更多相关文章
- Redis——学习之路二(初识redis服务器命令)
上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息 s ...
- redis服务器
Redis是一个Key-Value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括 string(字符串 ). list(链表). set(集合)和 zset(有序集合). ...
- Python/dotNET Redis服务连接客户端调用SET方法的同时获取Redis服务器返回的内容
在用Python或dotNET redis客户端连接redis服务器的时候,当你调用客户端的SET方法后同时还想得到其返回的字符串,那么需要处理一下. 1. Redis Python redis客户端 ...
- 这几天对Redis的初探,写一个阶段性的东西
原来基于wcf写了一个交互框架,其中自定义了一个session队列,用于保存客户端连接的一些信息. 这几天在想如何将这个wcf框架做负载均衡,于是将session队列拆分出来,用一个共享的内存进行处理 ...
- Redis服务器的启动过程分析
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/127.html?1455808771 本文将通过分析代码来介绍Redis的 ...
- [Azure] 使用 Azure 快速搭建 Redis 服务器
Redis相信玩开源,大数据的朋友们并不陌生,大家最熟悉的使用者就是新浪微博,微博的整体数据缓存都是基于Redis的,而新浪对Redis的使用也非常深,据说是一组64G内存的Redis集群.前段时间我 ...
- Redis 服务器
Redis 服务器命令主要是用于管理 redis 服务. 实例 以下实例演示了如何获取 redis 服务器的统计信息: redis 127.0.0.1:6379> INFO # Server r ...
- php的redis 操作类,适用于单台或多台、多组redis服务器操作
redis 操作类,包括单台或多台.多组redis服务器操作,适用于业务复杂.高性能要求的 php web 应用. redis.php: <?php /* redis 操作类,适用于单台或多台. ...
- 如何在 CentOS 7 上安装 Redis 服务器
大家好,本文的主题是 Redis,我们将要在 CentOS 7 上安装它.编译源代码,安装二进制文件,创建.安装文件.在安装了它的组件之后,我们还会配置 redis ,就像配置操作系统参数一样,目标就 ...
随机推荐
- httpclient post推送数据
客户端代码 /** * 从接口获取数据 * @param url 服务器接口地址 * @param json 传入的参数 若获取全部,此项为空 * @return 返回查询到的数据 * @throws ...
- mybatis里的mapper,@Mapper参数,Mapper.xml文件 sql语句Select+where语句
提示:有不清楚的可以试着看一下我最后的连接,是跟这些内容相关的 Mapper文件,特殊符号: 转义符号 原符号 中文意思 &It; < 小于号 > > 大于号 & & ...
- shiro认证流程源码分析--练气初期
写在前面 在上一篇文章当中,我们通过一个简单的例子,简单地认识了一下shiro.在这篇文章当中,我们将通过阅读源码的方式了解shiro的认证流程. 建议大家边读文章边动手调试代码,这样效果会更好. 认 ...
- P4915 帕秋莉的魔导书(动态开点线段树)
题目背景 帕秋莉有一个巨大的图书馆,里面有数以万计的书,其中大部分为魔导书. 题目描述 魔导书是一种需要钥匙才能看得懂的书,然而只有和书写者同等或更高熟练度的人才能看得见钥匙.因此,每本魔导书都有它自 ...
- Pock 把 Touch Bar 变成系统中的 Dock 栏
Pock 把 Touch Bar 变成系统中的 Dock 栏 Pock 是一款 macOS App,你可以通过它把 Touch Bar 变成系统中的 Dock 栏,直接用来切换和启动 App,尽享全屏 ...
- shell-变量的数值运算let内置命令
1. let命令的用法 格式: let 赋值表达式 [注]let赋值表达式功能等同于:((赋值表达式)) 范例1:给自变量i加8 [root@1-241 scripts]# i=2 [root@1- ...
- Cesium.Viewer
<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8" ...
- C# 范型约束 new() 你必须要知道的事
C# 范型约束 new() 你必须要知道的事 注意:本文不会讲范型如何使用,关于范型的概念和范型约束的使用请移步谷歌. 本文要讲的是关于范型约束无参构造函数 new 的一些底层细节和注意事项.写这篇文 ...
- 题解:[COCI2011-2012#5] BLOKOVI
题解:[COCI2011-2012#5] BLOKOVI Description PDF : https://hsin.hr/coci/archive/2011_2012/contest5_tasks ...
- 什么是C和C++标准——小白必看
本文简要介绍编写C/C ++应用程序的领域,标准库的作用以及它是如何在各种操作系统中实现的. 我已经接触C++一段时间了,一开始就让我感到疑惑的是其内部结构:我所使用的内核函数和类从何而来? 谁发明了 ...