standaloan(单机模式)

standaloan 是redis单机模式,及所有服务连接一台redis服务,该模式不适用生产。如果发生宕机,内存爆炸,就可能导致所有连接改redis的服务发生缓存失效引起雪崩。(推荐:redis视频教程)

ssentinel(哨兵模式)

redis-Sentinel(哨兵模式)是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行切换

sentinel哨兵如下功能实现

(1)monitoring:监控redis是否正常运行

(2)notification:通知application错误信息

(3)failover:当某个master死掉,选择另外一个slave升级为master,更 新master-slave关系。

(4)configurationprovider:client通过sentinel获取redis地址,并在failover时更新地址

2、sentinels and slaves autodiscovery(redis2.8及以上)

配置文件中只配置master地址,slave地址和sentinel地址可以自动发现。

(1)sentinels——sentinel之间通过redis pub/sub交换信息获得。

(2)slaves——询问master获得。

3、sdown、odown、failover

故障检测一般都是通过ping-pong机制,sentinel引入sdown(主观下线)和odown(客观下线)机制,目的应该是在集群规模较大时,检测更客观

(1)sdwon——is-master-down-after-milliseconds(可配置)时间内ping-pong失败。sdown的slave不能升级为master。

(2)odown——超过一定数目(可配置)的sentinel认为sdown,odown只针对master。

(3)failover——多数sentinel认为odown。

redis-cluster(集群模式)

redis集群模式,同样可以实现redis高可用部署,Redis Sentinel集群模式中,随着业务量和数据量增,到性能达到redis单节点瓶颈,垂直扩容受机器限制,水平扩容涉及对应用的影响以及数据迁移中数据丢失风险。针对这些痛点

Redis3.0推出cluster分布式集群方案,当遇到单节点内存,并发,流量瓶颈是,采用cluster方案实现负载均衡,cluster方案主要解决分片问题,即把整个数据按照规则分成多个子集存储在多个不同几点上,每个节点负责自己整个数据的一部分。

Redis Cluster采用哈希分区规则中的虚拟槽分区。虚拟槽分区巧妙地使用了哈希空间,使用分散度良好的哈希函数把所有的数据映射到一个固定范围内的整数集合,整数定义为槽(slot)。Redis Cluster槽的范围是0 ~ 16383。槽是集群内数据管理和迁移的基本单位。

采用大范围的槽的主要目的是为了方便数据的拆分和集群的扩展,每个节点负责一定数量的槽。Redis Cluster采用虚拟槽分区,所有的键根据哈希函数映射到0 ~ 16383,计算公式:slot = CRC16(key)&16383。每一个实节点负责维护一部分槽以及槽所映射的键值数据。下图展现一个五个节点构成的集群,每个节点平均大约负责3276个槽,以及通过计算公式映射到对应节点的对应槽的过程。

redis-cluster架构图

更多redis知识请关注redis入门教程栏目。

redis php方案,Redis三种部署方案图文详解相关推荐

  1. 【虚幻引擎UE】UE5 三种模式调用API详解(案例基于免费Varest插件)

    [虚幻引擎UE]UE5 三种模式调用API详解(案例基于免费Varest插件) 想通过UE5 调用API实现GET和POST, 可以通过自己编写C++方法, 或基于相关HTTP请求插件, 如Vares ...

  2. 可视化的Redis数据库管理工具redis-desktop-manager的初步使用(图文详解)

    不多说,直接上干货! 无论是Linux 还是 Windows里安装Redis, Windows里如何正确安装Redis以服务运行(博主推荐)(图文详解) Windows下如何正确下载并安装可视化的Re ...

  3. 电脑连接电视方法详解_查看电脑配置的几种方法(图文详解)

    很多朋友想要了解自己电脑详细的配置的时候,一般都是通过第三方的工具检测的.那么有没有其他更好的方法可以在win系统下查看电脑配置呢?今天我就给大家分享一下如何查看电脑配置. 查看电脑配置的几种方法图文 ...

  4. redis 三种集群模式详解

    概念:redis有三种集群模式,分别为主从模式,哨兵模式以及集群模式,其中主从是最常见的模式 三种集群模式说明 **·**Sentinel 哨兵模式是为了弥补主从复制集群中主机宕机后,主备切换的复杂性 ...

  5. puppet三种认证注册方式详解及常见报错分析

    本文主要介绍puppet的三种认证方式:自动注册.手动注册和预签名注册:master和agent的认证关系,是随着认证的复杂程度提升,安全性也会随之提高,下面就是每一种方式的示例解读. 一 手动注册 ...

  6. Jenkins项目常用三种构建类型风格详解

    Jenkins构建的项目类型介绍 jenkins 的安装配置请参考:<jenkins war包安装部署,tomcat+JDK+maven> Jenkins中自动构建项目的类型有很多,常用的 ...

  7. Vmware虚拟机三种网络模式配图详解

    目录 Vmware虚拟机三种网络模式详解 Vmware虚拟机三种网络模式详解 具体的文字描述参见博文:https://www.cnblogs.com/linjiaxin/p/6476480.html ...

  8. 电信设置的nat 虚拟服务器192.168.1.3 是什么,VMware WorkStation的三种网络连接方式详解...

    一. 首先贴出本人在网络上找到与VMware网络连接相关的知识 安装完虚拟机后,默认安装了两个虚拟网卡,VMnet1和VMnet8,其他的未安装(当然也可以手动安装其他的).其中VMnet1是host ...

  9. STM32三种BOOT启动模式详解(全网最全)

    一.三种boot启动模式 一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存.用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式. ...

最新文章

  1. (转)使.Net程序在未安装framework的电脑上运行(公布方法、源代码)
  2. 用windows自带压缩备份mysql_Windows下配合计划任务的Mysql定时压缩备份
  3. 配置文件值注入 ||导入配置文件处理器,以后编写配置就有提示
  4. java set 包含_关于Java的Set的集合是否包括问题,如下为什么不包括?
  5. nfs参数介绍与写法示例及报错( Operation not permitted)
  6. 19、SQL Server 数据修改之Insert into
  7. python open word_使用Python在OpenOffice / Microsoft Word中格式化输出
  8. 查看docker镜像的dockerfile脚本json信息
  9. 我做了一个 Istio Workshop,这是第一讲介绍
  10. 机器学习java_Java机器学习,第1部分
  11. 中原标准时间对时_GPS对时系统(时间同步系统)应用电子政务
  12. oracle中的in函数,Oracle中In函数的使用
  13. 如何拉取公网RTSP/RTMP流在内网多客户端播放
  14. C#从数据库导出数据到CSV
  15. c 给定字符串中查找_【C进阶】练习题(一)
  16. php入门代码 基础慕课,php基础入门
  17. 小甲鱼python课后题简书_Python 练习题汇总
  18. 机器学习9-案例1:银行营销策略分析
  19. hadoop-1.2.1运行过程中遇到的问题
  20. ARMam3354linux系统开发,ARM板移植Linux系统启动(四)配置Kernel

热门文章

  1. C#-WinForm跨线程修改UI界面
  2. Newbe.ObjectVisitor 0.2.10 发布,更花里胡哨
  3. 一文看懂async和“await”关键词是如何简化了C#中多线程的开发过程
  4. .NET 开源项目 StreamJsonRpc 介绍[中篇]
  5. 【半译】在ASP.NET Core中创建内部使用作用域服务的Quartz.NET宿主服务
  6. 《ASP.NET Core 微服务实战》-- 读书笔记(第10章)
  7. 基于docker-compose的Gitlab CI/CD实践排坑指南
  8. 【.NET Core 跨平台 GUI 开发】第三篇:Gtk# 表格布局与事件处理
  9. 开源题材征集 + MVCEF Core 完整教程小结
  10. 译 | .NET Core 基础架构进化之路(一)