1. 原理

redis cluster在设计的时候,就考虑到了去中心化,去中间件,也就是说,集群中的每个节点都是平等的关系,都是对等的,每个节点都保存各自的数据和整个集群的状态。每个节点都和其他所有节点连接,而且这些连接保持活跃,这样就保证了我们只需要连接集群中的任意一个节点,就可以获取到其他节点的数据。

Redis集群没有并使用传统的一致性哈希来分配数据,而是采用另外一种叫做哈希槽(hash slot)的方式来分配的,一致性哈希对向集群中新增和删除实例的支持很好,但是哈希槽对向集群新增实例或者删除实例的话,需要额外的操作,需要手动的将slot重新平均的分配到新集群的实例中。

redis cluster 默认分配了 16384 个slot,当我们set一个key时,会用CRC16算法来取模得到所属的slot,然后将这个key分到哈希槽区间的节点上,具体算法就是:CRC16(key)%16384。

Redis 集群会把数据存在一个master节点,然后在这个master和其对应的salve之间进行数据同步。当读取数据时,也根据一致性哈希算法到对应的master节点获取数据。只有当一个master 挂掉之后,才会启动一个对应的salve节点,充当master。

需要注意的是:必须要3个或以上的主节点,否则在创建集群时会失败,并且当存活的主节点数小于总节点数的一半时,整个集群就无法提供服务了。

接下来可能就是动态扩容、增加节点和减少节点,重新分配槽大小等,当然,还有最重要的就是怎么和我们程序结合起来,以及如何更好的把 Redis 缓存集群发挥出应有的效果,这些才是最重要的。

2. cluster 集群搭建

花了一个上午的时间,搭建了3主3从的redis集群,集群搭建并不难,只是很繁琐,按照他人经验一步步操作即可。主要测试了使用redis-cli cluster 的方式搭建集群。

2.1 ruby 方式

  • ruby安装 linux CentOS
  • CentOS 中永久修改环境变量
  • Linux 离线安装Rubygems详解

  • Linux Redis集群搭建与集群客户端实现
  • Redis 集群搭建详细指南

2.2 redis-cli 方式

  • Redis-Cluster实战--5.使用redis-cli安装
  • 分布式Redis中集群中(cluster_state:fail)

转载于:https://www.cnblogs.com/walkinginthesun/p/10167852.html

(六)Redis集群搭建相关推荐

  1. redis 集群搭建_Redis分布式缓存分布式集群搭建

    当你试图解决一个你不理解的问题时,复杂化就产成了.-Andy Boothe Redis集群安装部署 Redis是一个运行在内存的非关系型数据库,因为其速度快(效率高),支持数据的持久化(安全),事务操 ...

  2. redis 集群搭建_一文轻松搞懂redis集群原理及搭建与使用

    转载:https://juejin.im/post/5ad54d76f265da23970759d3 作者:SnailClimb 这里总结一下redis集群的搭建以便日后所需同时也希望能对你有所帮助. ...

  3. 转:Redis 集群搭建详细指南

    转自: https://www.cnblogs.com/mafly/p/redis_cluster.html [README] 非常棒的一篇文章,感谢作者的分享: 先有鸡还是先有蛋? 最近有朋友问了一 ...

  4. Redis集群搭建(基于6.2.6版本)

    前言 Redis 在我们工作中使用非常广泛,之前在掘金平台上写过一篇Redis集群的搭建,但是是基于4.0.14版本的,使用的是redis-trib.rb进行搭建的,Redis5之后 推荐使用 red ...

  5. Redis集群搭建及java连接redis

    Redis集群搭建及java连接redis Redis集群分为三种: 1.主从关系模式2.Sentinel哨兵关系模式3.Cluster去中心化模式 1.主从关系模式 1.1.什么是主从模式? (1) ...

  6. 基于虚拟机高可用redis集群搭建

    redis集群搭建 介绍 刚开始学习 redis集群搭建可能会被繁琐的配置劝退,但重复配置是我们敲代码路上最平坦的一条路了,希望晨雨和大家以后都有足够的耐心,学好技术,装好B格.本文基于redis-5 ...

  7. Redis 集群搭建

    一.redis安装 下载地址:http://redis.io/download 安装步骤: # 安装gcc yum install gcc # 把下载好的redis-5.0.2.tar.gz放在/us ...

  8. redis集群搭建及设置账户(转)

    Redis集群搭建以及为集群设置密码 介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. ...

  9. Redis集群搭建-韩国庆

    认真一步一步搭建下来,就可以成功.... Redis-cluster集群架构讲解 redis集群专业名词称之为Redis-cluster,redis集群是从3.0版本以后才有的概念,也就是说在3.0之 ...

最新文章

  1. Google App Engine平台下JDOQL查询报异常的问题解决方案
  2. SOA实现方式与模式
  3. 九、PyQt5 QLineEdit输入的子网字符串校验QRegExp
  4. pip is configured with locations that require TLS/SSL, however the ssl module in Python is not avail
  5. Mybatis(8)DAO实现类的使用方式
  6. mysql解压版id是什么_Mysql安装(解压版)
  7. 常用的 Windows 键
  8. 充满男性荤段子的开源软件 DICSS 引发争议
  9. S32K116使用记录
  10. centos6.8安装mysql5.6【转】
  11. 基于Redis和Tomcat实现集群的Session管理
  12. OptiCoupe 6:光学切割面板和型材切割优化[OptiCut]
  13. word在线预览 (含doc,docx等)
  14. 在虚拟机中安装Neokylin操作系统
  15. 【Unity2D入门教程】简单制作战机弹幕射击游戏⑤C#编写 背景滚动移动以及增加粒子特效
  16. 4pycharm与jupyter使用对比
  17. 单面打印机打印双面小册子
  18. Win7/8双系统共用蓝牙鼠标
  19. WEB前端工程师 – 职业生涯规划
  20. eclipse怎么把图片打开

热门文章

  1. 用 ConfigMap 管理配置 - 每天5分钟玩转 Docker 容器技术(159)
  2. 【字典树】添加和查找单词
  3. JavaScriptDOM高级程序设计- generateDOM.js
  4. fmri 实验设计 / 范式设计/ paradigm design
  5. MVC4网站发布到windows server 2003服务器
  6. python学习之dict的items(),values(),keys()
  7. MongoDB集群——副本集
  8. 【Nodejs开发】第2章 网站首页的布局
  9. 使用IE过渡滤镜和CSS3中的RGBA属性完成背景色透明效果
  10. html数据插入到数据库,将数据插入到数据库中:text和html格式