Redis 渐进集群介绍
redis 凭借着强大的功能和可靠的稳定性,应用场景越来越广。逐渐成为软件开发工程师必备的技能之一。
本篇文章,暂不做基本功能的介绍。直接教大家如何部署redis集群。
集群演进主要分为2部分。
一、主从备份机制
一个redis 主服务可以拥有多个从服务;一个从服务器,只可拥有一个主服务。从服务 也可以作为其他服务的主服务。
在redis的复制机制中,主服务器写入的任何数据,都会被从服务器同步。所以一般情况下,从服务都是只读的。
可以衍生的功能操作就是,redis的 读写分离。一般写操作,直接写主服务器,读取操作,可以读取 从服务器。这样可以提高服务的性能。
如何实现主从机制?
实现比较简单,直接修改从服务的redis配置文件。增加一下命令即可:
replicaof <host> <port>
主从备份的机制,解决了数据丢失的问题。但是,如果主机挂掉。数据写入还是无法解决,还是会造成系统有异常。所以,就必须要有更好的方案,于是就有了以下的哨兵模式。
二、哨兵模式
哨兵模式建立在主从备份机制的基础之上。
主从机制的背景下,加入主机服务挂掉。要让所有服务能正常的话,必须要恢复主机的正常,如果恢复不了,就必须启用一个新的主机。
如果这些都靠人为操作来完成,花费的时间,肯定不少。而redis 的哨兵就是redis 提供的自动完成以上操作的功能。
redis sentinel 以心跳的方式检测主服务器及其下属从服务器的运行情况。并在主服务异常的时候,实施故障转移,从从服务器中以特定的规则,选出下一个从服务器作为新的主服务器,以保证不影响业务系统提供正常的服务。
如何启动哨兵?其实很简单,只需要在 redis 所在目录下 新建一个sentinel.conf文件,文件内容如下 :
port 26379
sentinel monitor <master_name> <ip> <port> <quorum>
启动sentinel命令 : redis-server sentinel.conf --sentinel
需要注意的是
1、sentinel monitor 只需要 配置主服务器,即可自动监视 主服务器下的从服务器。无需配置监视 从服务器。
2、一个sentinel 可以监视多个 主服务,只需要配置多个 sentinel monitor master即可。
3、sentinel 可以组网,即可以同时使用多个sentinel。 以防止唯一的sentinel故障。
三、集群功能
具体来说,Redis集群会将整个数据库空间划分为16384个槽(slot)来实现数据分片(sharding),而集群中的各个主节点则会分别负责处理其中的一部分槽。当用户尝试将一个键存储到集群中时,客户端会先计算出键所属的槽,接着在记录集群节点槽分布的映射表中找出处理该槽的节点,最后再将键存储到相应的节点中
当用户想要向集群添加新节点时,只需要向Redis集群发送几条简单的命令,集群就会将相应的槽以及槽中存储的数据迁移至新节点。与此类似,当用户想要从集群中移除已存在的节点时,被移除的节点也会将自己负责处理的槽以及槽中数据转交给集群中的其他节点负责。最重要的是,无论是向集群添加新节点还是从集群中移除已有节点,整个重分片(reshard)过程都可以在线进行,Redis集群无须因此而停机。
Redis 渐进集群介绍的更多相关文章
- redis介绍 (8) window 下redis的集群(cluster命令)
前言: 前段时间我在centos上搭建过一次redis集群,那是借助ruby搭建,这次我介绍一种纯redis集群命令的方式去搭建[最后我会简单介绍ruby搭建]. redis集群搭建(三主三备): 准 ...
- 超详细,多图文介绍redis集群方式并搭建redis伪集群
超详细,多图文介绍redis集群方式并搭建redis伪集群 超多图文,对新手友好度极好.敲命令的过程中,难免会敲错,但为了截好一张合适的图,一旦出现一点问题,为了好的演示效果,就要从头开始敲.且看且珍 ...
- Redis分布式集群几点说道
原文地址:http://www.cnblogs.com/verrion/p/redis_structure_type_selection.html Redis分布式集群几点说道 Redis数据量日益 ...
- Redis集群(九):Redis Sharding集群Redis节点主从切换后客户端自动重新连接
上文介绍了Redis Sharding集群的使用,点击阅读 本文介绍当某个Redis节点的Master节点发生问题,发生主从切换时,Jedis怎样自动重连新的Master节点 一.步骤如下: 1.配 ...
- 170103、Redis官方集群方案 Redis Cluster
前面我们谈了Redis Sharding多服务器集群技术,Redis Sharding是客户端Sharding技术,对于服务端来说,各个Redis服务器彼此是相互独立的,这对于服务端根据需要灵活部署R ...
- 【Redis】Redis分布式集群几点说道
Redis数据量日益增大,使用的公司越来越多,不仅用于做缓存,同时趋向于存储这一块,这样必促使集群的发展,各个公司也在收集适合自己的集群方案,目前行业用的比较多的是下面几种集群架构,大部分都是采用分片 ...
- Redis Cluster集群搭建与配置
Redis Cluster是一种服务器sharding分片技术,关于Redis的集群方案应该怎么做,请参考我的另一篇博客http://www.cnblogs.com/xckk/p/6134655.ht ...
- jedis处理redis cluster集群的密码问题
环境介绍:jedis:2.8.0 redis版本:3.2 首先说一下redis集群的方式,一种是cluster的 一种是sentinel的,cluster的是redis 3.0之后出来新的集群方式 本 ...
- 深入分析redis cluster 集群
深入分析redis cluster 集群安装配置详解 下面小编来为各位介绍一篇深入分析redis cluster 集群安装配置详解,如果你希望做数据库集群就可以来看看此文章的哦. http://rub ...
随机推荐
- Promql基础语法2
数据样本 直方图类型 delta函数 运算操作 数学运算 node_disk_info / 100 当瞬时向量与标量之间进行数学运算时,数学运算符会依次作用域瞬时向量中的每一个样本值,从而得到一组新的 ...
- kali 安装 docker
添加密钥 信任 浙大更新源 curl -fsSL http://mirrors.zju.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add - t ...
- [题解][YZOJ50113] 枇杷树
简要题意 \(m\) 个操作,每次操作都会产生一个树的版本 \((\)从 \(0\) 开始\()\). 一次操作把 \(x_i\) 版本的树的点 \(u\) 和 \(y_i\) 版本的树的点 \(v\ ...
- 一文带你速懂虚拟化KVM和XEN
来源 :蛋蛋团 前言 "云计算"这个技术经过十余年的普及到如今已经可以称得上是家喻户晓了,基于云计算平台,在多个领域内创造了一个又一个的记录:电子商务里亿万人同时在线抢购的的&qu ...
- 一文带你读懂什么是vxlan网络
一个执着于技术的公众号 一.背景 随着云计算.虚拟化相关技术的发展,传统网络无法满足大规模.灵活性要求高的云数据中心的要求,于是便有了overlay网络的概念.overlay网络中被广泛应用的就是vx ...
- epoll 函数解析
本文参考社长的 TinyWebServer 庖丁解牛 epoll 常用API epoll_create 函数 #include <sys/epoll.h> int epoll_create ...
- Microsoft Graph 的 .NET 6 之旅
这是一篇发布在dotnet 团队博客上由微软Graph首席软件工程师 Joao Paiva写的文章,原文地址: https://devblogs.microsoft.com/dotnet/micros ...
- 详解 Java 17 中新推出的密封类
Java 17推出的新特性Sealed Classes经历了2个Preview版本(JDK 15中的JEP 360.JDK 16中的JEP 397),最终定稿于JDK 17中的JEP 409.Seal ...
- 从防御者视角来看APT攻击
前言 APT防御的重要性毋庸讳言,为了帮助各位师傅在防御方面建立一个总体认识,本文会将APT防御方法分为三类,分别是:监控.检测和缓解技术,并分别进行梳理,介绍分析代表性技术.这一篇分析现有的监控技术 ...
- Json序列化与反序列化导致多线程运行速度和单线程运行速度一致问题
紧跟上篇文章 十个进程开启十个bash后一致写入命令执行完毕之后产生了很多很多的文件,博主需要对这些文件同意处理,也就是说对几十万个文件进行处理,想了又想,单线程处理那么多数据肯定不行,于是乎想到了使 ...