1.redis-cluster架构图

2.redis-cluster投票:容错

架构细节:

(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.

(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.

(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可

(4)redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<->value

Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点.

3.Redis集群的搭建

Redis集群中至少应该有三个节点。要保证集群的高可用,需要每个节点有一个备份机。

Redis集群至少需要6台服务器。

搭建伪分布式。可以使用一台虚拟机运行6个redis实例。需要修改redis的端口号7001-7006

--复制六份bin目录,然后把每个bin目录下的redis.conf文件的端口修改一下,还需要把cluster-enabled yes前的注释去掉。

集群搭建环境

1、使用ruby脚本搭建集群。需要ruby的运行环境。

安装ruby

yum install ruby

yum install rubygems

2.安装ruby脚本运行使用的包。

gem install redis-3.0.0.gem  --gem包下载

[root@localhost src]# ll redis-trib.rb

3.启动每个redis实例。

4.使用ruby脚本搭建集群。

./redis-trib.rb create --replicas 1 localhost:7001 localhost:7002 localhost:7003 localhost:7004 localhost:7005 localhost:7006

创建关闭集群的脚本:

[root@localhost redis-cluster]# vim shutdow-all.sh

redis01/redis-cli -p 7001 shutdown

redis01/redis-cli -p 7002 shutdown

redis01/redis-cli -p 7003 shutdown

redis01/redis-cli -p 7004 shutdown

redis01/redis-cli -p 7005 shutdown

redis01/redis-cli -p 7006 shutdown

[root@localhost redis-cluster]# chmod u+x shutdow-all.sh

3.集群的使用方法

Redis-cli连接集群。

[root@localhost redis-cluster]# redis01/redis-cli -p 7002 -c

-c:代表连接的是redis集群

最新文章

  1. Java中List根据对象的属性值进行数据库group by功能的操作
  2. Oracle系列教程
  3. android 点九PNG技术 适应不同分辨率 完美显示效果
  4. Swift之基础知识
  5. spark向量、矩阵类型
  6. Linux grep 命令中的正则表达式详解
  7. IOS 创建一张有颜色的UIImage
  8. 虚拟机ping不通主机
  9. leetcode125. Valid Palindrome
  10. 五种IO模型透彻分析
  11. Python-wxpy信息爬取发送至微信(小白级)
  12. Linux 下挂载新硬盘方法
  13. Python爬虫框架Scrapy教程(1)—入门
  14. Servlet的请求转发和重定向
  15. spring mvc:复选框(多选)
  16. Mac OS X 安装教程
  17. java——io、字节流缓冲区拷贝文件、字节缓冲流
  18. mongoose添加属性问题
  19. java基础不牢固容易踩的坑
  20. Spring Cloud之Swagger2 API接口管理

热门文章

  1. 渗透测试工程师认证 | CISP-PTE证书含金量
  2. [题解]UVA10986 Sending email
  3. 前端提升生产力系列三(vant3 vue3 移动端H5下拉刷新,上拉加载组件的封装)
  4. 【windows 操作系统】【CPU】用户模式和内核模式(用户层和内核层)
  5. 《手把手教你》系列基础篇(七十三)-java+ selenium自动化测试-框架设计基础-TestNG实现启动不同浏览器(详解教程)
  6. 递归——深度优先搜索(DFS)——以滑雪问题为例(自顶而下)
  7. C# form捕捉方向键事件
  8. ob-页面静态化(1)
  9. PHP message:filesize(): stat failed for 错误
  10. 6. 堪比JMeter的.Net压测工具 - Crank 实战篇 - 收集诊断跟踪信息与如何分析瓶颈