windows下面部署

主从复制:https://blog.csdn.net/u010648555/article/details/79427606

Sentinel模式:https://blog.csdn.net/u010648555/article/details/79430105

cluster模式:https://blog.csdn.net/u010648555/article/details/79427608

https://www.cnblogs.com/super-chao/p/9329018.html

-----------------------------------------------------------------------------------------

项目中用到Redis,所以准备学习一下,感觉Redis的概念还是很多的,什么主从模式、sentinel模式、集群模式的,一下子都晕了,我觉得还是有必要先理清这些基本概念再说。

一、单节点实例

  单节点实例还是比较简单的,平时做个测试,写个小程序如果需要用到缓存的话,启动一个Redis还是很轻松的,做为一个key/value数据库也是可以胜任的。单节点部署参照:http://www.cnblogs.com/yiwangzhibujian/p/7053840.html 中的初级教程。

二、主从模式(master/slaver)

  主从模式的简介和配置,此处不再说,参照下面的博客:Redis 主从模式详解。

  首先谈谈我对主从模式的必要性:

  • 主从模式的一个作用是备份数据,这样当一个节点损坏(指不可恢复的硬件损坏)时,数据因为有备份,可以方便恢复。
  • 另一个作用是负载均衡,所有客户端都访问一个节点肯定会影响Redis工作效率,有了主从以后,查询操作就可以通过查询从节点来完成。

  对主从模式必须的理解(结论已经验证过,可以自行验证):

  1. 一个Master可以有多个Slaves
  2. 默认配置下,master节点可以进行读和写,slave节点只能进行读操作,写操作被禁止
  3. 不要修改配置让slave节点支持写操作,没有意义,原因一,写入的数据不会被同步到其他节点;原因二,当master节点修改同一条数据后,slave节点的数据会被覆盖掉
  4. slave节点挂了不影响其他slave节点的读和master节点的读和写,重新启动后会将数据从master节点同步过来
  5. master节点挂了以后,不影响slave节点的读,Redis将不再提供写服务,master节点启动后Redis将重新对外提供写服务。
  6. master节点挂了以后,不会slave节点重新选一个master

  对有密码的情况说明一下,当master节点设置密码时:

  • 客户端访问master需要密码
  • 启动slave需要密码,在配置中进行配置即可
  • 客户端访问slave不需要密码

2.1 主从节点的缺点

  主从模式的缺点其实从上面的描述中可以得出:

  • master节点挂了以后,redis就不能对外提供写服务了,因为剩下的slave不能成为master

  这个缺点影响是很大的,尤其是对生产环境来说,是一刻都不能停止服务的,所以一般的生产坏境是不会单单只有主从模式的。所以有了下面的sentinel模式。

三、sentinel模式

  sentinel模式的简介和配置,此处不再说,参照下面的博客:Redis Sentinel模式详解。

  sentinel的中文含义是哨兵、守卫。也就是说既然主从模式中,当master节点挂了以后,slave节点不能主动选举一个master节点出来,那么我就安排一个或多个sentinel来做这件事,当sentinel发现master节点挂了以后,sentinel就会从slave中重新选举一个master。

  对sentinel模式的理解:

  • sentinel模式是建立在主从模式的基础上,如果只有一个Redis节点,sentinel就没有任何意义
  • 当master节点挂了以后,sentinel会在slave中选择一个做为master,并修改它们的配置文件,其他slave的配置文件也会被修改,比如slaveof属性会指向新的master
  • 当master节点重新启动后,它将不再是master而是做为slave接收新的master节点的同步数据
  • sentinel因为也是一个进程有挂掉的可能,所以sentinel也会启动多个形成一个sentinel集群
  • 当主从模式配置密码时,sentinel也会同步将配置信息修改到配置文件中,不许要担心。
  • 一个sentinel或sentinel集群可以管理多个主从Redis。
  • sentinel最好不要和Redis部署在同一台机器,不然Redis的服务器挂了以后,sentinel也挂了
  • sentinel监控的Redis集群都会定义一个master名字,这个名字代表Redis集群的master Redis。

  当使用sentinel模式的时候,客户端就不要直接连接Redis,而是连接sentinel的ip和port,由sentinel来提供具体的可提供服务的Redis实现,这样当master节点挂掉以后,sentinel就会感知并将新的master节点提供给使用者。

  sentinel模式基本可以满足一般生产的需求,具备高可用性。但是当数据量过大到一台服务器存放不下的情况时,主从模式或sentinel模式就不能满足需求了,这个时候需要对存储的数据进行分片,将数据存储到多个Redis实例中,就是下面要讲的。

四、cluster模式

  sentinel模式的简介和配置,此处不再说,参照下面的博客:Redis cluster模式详解。

  cluster的出现是为了解决单机Redis容量有限的问题,将Redis的数据根据一定的规则分配到多台机器。对cluster的一些理解:

  • cluster可以说是sentinel和主从模式的结合体,通过cluster可以实现主从和master重选功能,所以如果配置两个副本三个分片的话,就需要六个Redis实例。
  • 因为Redis的数据是根据一定规则分配到cluster的不同机器的,当数据量过大时,可以新增机器进行扩容

  这种模式适合数据量巨大的缓存要求,当数据量不是很大使用sentinel即可。

redis部署架构总结相关推荐

  1. centos7 nginx php5.4,详解CentOS7.0下Nginx+PHP5.4+MySQL5.5+Memcached+Redis的架构部署

    详解Nginx+PHP5.4+MySQL5.5+Memcached+Redis的架构部署需要安装Nginx.PHP.mysql.memcached.redis! 一.硬件: 1.服务器型号:HP DL ...

  2. 彻底取代Redis+数据库架构,京东618稳了!

    作者介绍 京东零售在线存储部,致力于分布式系统.开源数据库技术的研究,主要负责数据库性能调优.监控和架构设计. 过去十年,随着移动互联网指数级的增长,企业和用户对应用程序的响应性能要求越来越高, 如何 ...

  3. Redis 哨兵架构基础

    点击赠书:聊聊「分布式架构」那些事儿 1. 哨兵的介绍 sentinel , 中文是哨兵. 哨兵是redis 集群架构中非常重要的一个组件,主要功能如下: (1)集群监控:负责监控reidis mas ...

  4. ElasticSearch面试 - es 生产集群的部署架构是什么?

    ElasticSearch面试 - es 生产集群的部署架构是什么? 面试题 es 生产集群的部署架构是什么?每个索引的数据量大概有多少?每个索引大概有多少个分片? 面试官心理分析 这个问题,包括后面 ...

  5. 【初学】部署架构相关的一些知识

    部署架构相关的一些知识 集群 Nginx 分布式 热备 中间件 集群 集群,这里指服务器集群,是指多个服务器完成同样的功能,在客户端看来就只有一个服务器.起初系统比较简单的时侯,一个服务器足以完成所有 ...

  6. 详解Redis的架构演化之路(附16张图解)

    阅读本文大约需要 13 分钟. 这篇文章我想和你聊一聊 Redis 的架构演化之路. 现如今 Redis 变得越来越流行,几乎在很多项目中都要被用到,不知道你在使用 Redis 时,有没有思考过,Re ...

  7. 分布式实时日志分析解决方案 ELK 部署架构

    一.前言 ELK 已经成为目前最流行的集中式日志解决方案,它主要是由Beats.Logstash.Elasticsearch.Kibana等组件组成,来共同完成实时日志的收集,存储,展示等一站式的解决 ...

  8. Tair 对 Redis 引擎架构之争的看法

    Tair 对 Redis 引擎架构之争的看法 文章目录 Tair 对 Redis 引擎架构之争的看法 背景 Tair 引擎架构的发展 Tair 对引擎模型的思考 Tair 并发引擎设计 Tair 慢查 ...

  9. ELK+Filebeat+Redis部署应用指导书(一)

    原创作者:运维工程师 谢晋 ELK+Filebeat+Redis部署应用指导书(一) 概述 ElasticStack平台简介 ElasticStack体系架构 系统运行环境 系统硬件环境: 系统软件环 ...

最新文章

  1. 控制~线性系统~的能控性和能观性
  2. SSD配置+训练VOC0712+训练自己的数据集
  3. php5.4以下,json_encode不转义实现方法
  4. 2018+计算机软件,2018年6月考试《计算机软件技术基础(1)》在线考核试题
  5. 强制修改上网本分辨率
  6. 数据平台-第一章-数据质量提升
  7. pythonfor循环是迭代器吗_[Python] 迭代器是什么?你每天在用的for循环都依赖它!...
  8. Python 的一些网络库(感谢Arbow)
  9. 电子书 杜春雷 ARM体系结构与编程
  10. 检错纠错码(奇偶校验码 CRC循环冗余校验码 海明码)
  11. makefile if 使用
  12. mqtt协议 阿里云物联网平台
  13. OpenWrt——进行PPPoE拨号时透过路由器访问光猫的方法
  14. 其实人是有潜力的,比如吃西瓜
  15. 分享一批学习资料教程视频书籍
  16. Word2016替换文字方法
  17. 西南交大计算机绘图a答案,西南交大 计算机绘图A客观题答案(1-3次作业).doc
  18. java oj_用java怎么做oj啊
  19. Angular2 ElementRef 实现低耦合高内聚 视图应用分离
  20. 盘点行业 洞察大势 挥斥方遒 指点江山 洞见2018中国HR服务峰会惊艳业界

热门文章

  1. 解决cookie写入问题
  2. 发布订阅之fanout
  3. 数据库-数据类型介绍
  4. SpringBoot 信息输出
  5. python获取输入法状态_Python学习中常见的错误
  6. myeclipse中的一些设置
  7. Polly 重试策略
  8. 洛谷 P1983 车站分级
  9. GridView里面嵌套RadioButton
  10. XMNetworking 网络库的设计与使用