Redis集群(主从复制)
主从复制
主从复制原理
Redis集群中有很多Redis服务器,这些Reids服务器分为主服务器和从服务器。
- 从服务器会向主服务器发送命令:SYNC命令。
- 主服务器接收到SYNC命令后,开始执行GBSAVE命令生成RDB文件(快照文件)并使用缓冲区来记录此后的写命令
- 主服务器GBSAVE命令执行完毕后,会将次快照发送给所有的从服务器。而且在发送期间会继续记录写命令。
- 从服务器接收到主服务器发送过来快照文件,会加载这个快照文件,并执行。
- 主服务在发送完快照文件后会向从服务器发送缓冲区命令。
- 从服务器完成对快照文件的载入,也会开始接收主服务器的命令,并执行。
- 从服务器和主服务器执行相同的命令
通过这种方式完成主从复制。
优点:
保证主服务器和从服务器数据同步,实现读写分离,主服务器用来执行写命令,而从服务器用来提供数据(读)。
缺点:
Redis不具备自动容错和恢复功能,主从机器的宕机都会导致前段部分读写请求失败,导致数据部分丢失。
- 哨兵模式
当主服务器宕机了,哨兵模式可以让一个从服务器升级为主服务器,以便保证继续提供服务。
优点:
提高Redis的高可用,让系统更健壮,可用性更高。
缺点:
Redis很难支持在线扩容。如果集群容量达到上线,这时扩容就会变得很复杂。
Redis-Cluster集群
主从复制有一个很大的缺陷:主服务器和从服务器存储的数据一样,这是一种浪费。
redis3.0后提供Redis-Cluster集群,这是一种分布式存储的集群方式:每一个Reids服务器上存储不同的数据,提高高可用。
Redis在去保存数据时,会通过一个算法计算key的结果,通过这个结果和插槽(16834)(Hash槽:0-16383)做运算,将运算结果作为这个数据
的存储位置,这样就可以将数据保存到不同的服务器上,保证分布式存储。
Redis集群(主从复制)的更多相关文章
- Redis集群主从复制(一主两从)搭建配置教程【Windows环境】
如何学会在合适的场景使用合适的技术方案,这值得思考. 由于本地环境的使用,所以搭建一个本地的Redis集群,本篇讲解Redis主从复制集群的搭建,使用的平台是Windows,搭建的思路和Linux上基 ...
- Docker部署Redis集群(主从复制 高可用)
环境 vmware12+centos7 关于环境安装可以参考我的另一篇博客 https://www.cnblogs.com/pengboke/p/13063168.html 1.清理环境 我这里用的虚 ...
- redis高可用、redis集群、redis缓存优化
今日内容概要 redis高可用 redis集群 redis缓存优化 内容详细 1.redis高可用 # 主从复制存在的问题: 1 主从复制,主节点发生故障,需要做故障转移,可以手动转移:让其中一个sl ...
- 【Redis学习之八】Redis集群:主从复制
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 redis-2.8.18 Redis集群分类: 主从复制 R ...
- Redis 集群_主从复制_哨兵模型
1 redis集群简介 1.1 集群的概念 所谓的集群,就是通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定.高效的状态. 1.1.1 使用redis集群的必要性 问题:我们已经部署好了 ...
- redis集群之主从复制集群的原理和部署
最近在复盘redis的知识,所以本文开始希望介绍下redis的集群架构.原理以及部署:本文主要介绍redis的主从复制集群,包括其架构模型,原理,高可用等: 一.主从集群的介绍 redis的主从复 ...
- Redis集群的安装测试(伪分布模式 - 主从复制)
想跑一下Redis集群,但是没有那么多服务器,所以使用伪分布式模式,模拟一下,记录一下安装过程. 软件: redis-3.0.3.tar.gz 集群正常工作至少需要3个主节点(本示例创建6个节点,3主 ...
- Redis 集群的合纵与连横
之前一篇写了关于 Redis 的性能,这篇就写写我认为比性能更重要的扩展性方面的主题. 如果再给我一次回到好几年前的机会,对于使用 Redis 我一开始就要好好考虑将来的扩展问题.就像我们做数据库分库 ...
- 就publish/subscribe功能看redis集群模式下的队列技术(一)
Redis 简介 Redis 是完全开源免费的,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中 ...
- Redis 集群方案
根据一些测试整理出来的一份方案(转自http://www.cnblogs.com/lulu/): 1. Redis 性能 对于redis 的一些简单测试,仅供参考: 测试环境:Redhat6.2 , ...
随机推荐
- MacBook + 移动SSD实现三系统(Mac OS、windows、ubuntu)
Windows系统安装 1.我们先要在windows的电脑上下载好,你需要的windows镜像文件(下载地址:https://msdn.itellyou.cn/,个人建议用迅雷下载),下载好winto ...
- CCF 201909-2 小明种苹果(续)
#include <iostream> #include <bits/stdc++.h> #include <string> using namespace std ...
- MassTransit - .NET Core 的分布式应用程序框架
简介 MassTransit 是一个免费的.开源的.NET 分布式应用程序框架.MassTransit 使创建应用程序和服务变得容易,这些应用程序和服务利用基于消息的松散耦合异步通信来实现更高的可用性 ...
- 基于Nginx上的docker负载均衡
1.首先需要拖拽镜像文件 docker pull nginx 2.生成多个docker容器 docker run --name demo1 -d -p 8081:80 -v /data/demo ...
- 【Java学习Day06】注释种类、符号及用法
注释种类 单行注释:只能注释一行文字 多行注释:可以注释一段文字 文档注释:用来生成说明文件 注释符号及用法 单行注释:// //后面写注释 多行注释:/**/ /* 我是注释 我是注释 我是注释 * ...
- GDAL 安装
命令总和 add-apt-repository ppa:ubuntugis/ppa apt-get update apt-get install gdal-bin apt-get install li ...
- EMQX 在 Kubernetes 中如何进行优雅升级
背景 为了降低 EMQX 在 Kubernetes 上的部署.运维成本,我们将一些日常运维能力进行总结.抽象并整合到代码中,以 EMQX Kubernetes Operator 的方式帮助用户实现 E ...
- Pyodide读取CSV、EXCEL
from pyodide.http import pyfetch, open_url pyfetch(url="/your/URL/goes/here", method=" ...
- [NOIP1996 提高组] 挖地雷
题目描述 在一个地图上有N个地窖(N≤20),每个地窖中埋有一定数量的地雷.同时,给出地窖之间的连接路径. 当地窖及其连接的数据给出之后,某人可以从任一处开始挖地雷, 然后可以沿着指出的连接往下挖(仅 ...
- nmap扫描结果保存 xml to html for windows
首先 Nmap扫描443端口并保存为xml报告输出 nmap -T5 -Pn -p 443 -iL C:\Users\loki\Desktop\443_Scan.txt -oX C:\Users\lo ...