1. redis cluster 介绍

1.1 自动将数据进行分片,每个master上放一部分数据

1.2 提供内置的高可用支持,部分master不可用时,这是可以继续工作的

在redis cluster 架构下,每个redis 要开放两个端口,比如一个是6379,一个是加10000的端口号,比如16379

16379端口号是用来进行节点通信的,也就是cluster bus 的东西,集群总线,cluster bus的通信,用来进行故障检测,配置更新,故障转移授权

cluster bus用了另外一种二进制协议,主要用于节点间进行高效的数据交换,占用更少的网络带宽和处理时间

2. 最老土的hash 算法和弊端(大量缓存重建)

3. 一致性hash算法(自动缓存迁移)+ 虚拟节点(自动负载均衡)

4. redis cluster 的 hash slot 算法

redis cluster 有固定的16384 个hash slot ,对每个key 计算CRC16信息,然后对16384取模,可以获取key对应的hash slot

redis cluster中每个master都会有部分slot,比如3个master,那么可能每个master 持有5000多个hash slot

hash slot让node 的增加和移除很简单,增加一个master,就将其他的master 的hash slot 移动部分过去,减少一个master,就将它的hash slot 移动到其他的master 上去

移动hash slot 的成本是非常低的

客户端的api,可以对指定的数据,让他们走向同一个hash slot , 通过hash  tag 来实现。

赠书:聊聊「分布式架构」那些事儿

往期推荐

Spring Boot 中 @EnableXXX 注解的驱动逻辑

有比 ReadWriteLock更快的锁?

认真看看, 以后写 SQL 就爽多了:MyBatis 动态 SQL:

实战篇:点赞功能,用 MySQL 还是 Redis 好 ?

为什么国内流行的 MyBatis ,国外 Java 工程师却不愿意使用?

扫一扫,关注我

一起学习,一起进步

Redis Cluster 原理你了解不?相关推荐

  1. 全面剖析Redis Cluster原理和应用

    全面剖析Redis Cluster原理和应用 1.Redis Cluster总览 1.1 设计原则和初衷 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最 ...

  2. 不懂Redis Cluster原理,我被同事diss了!

    " Redis 缓存作为使用最多的缓存工具被各大厂商争相使用.通常我们会使用单体的 Redis 应用作为缓存服务,为了保证其高可用还会使用主从模式(Master-Slave),又或者是读写分 ...

  3. 全面剖析Redis Cluster原理和应用 (good)

    redis redis cluster注意的问题 : 1.'cluster-require-full-coverage'参数的设置.该参数是redis配置文件中cluster模式的一个参数,从字面上基 ...

  4. Redis cluster原理

    前言 上文我们聊了基于Sentinel的Redis高可用架构,了解了Redis基于读写分离的主从架构,同时也知道当Redis的master发生故障之后,Sentinel集群是如何执行failover的 ...

  5. Redis Cluster原理初步

    目录 目录 1 1. 前言 1 2. 槽(slots) 1 3. 路由配置(node.conf) 1 4. 总slots数(cluster.h:16384) 2 5. key的路由 2 6. 将key ...

  6. Redis Cluster 集群模式原理和动态扩容

    Redis Cluster原理 详细参考 Redis cluster集群模式的原理, 在这里补充下要点 16384个slot, 平均分布在各个master, key-value 对存储在slot中; ...

  7. redis cluster中添加删除重分配节点例子

    redis cluster中添加删除重分配节点例子 作者:用户 来源:互联网 时间:2016-05-05 10:22:27 摘要: 本文讲的是redis cluster中添加删除重分配节点例子, re ...

  8. redis cluster以及master-slave在windows下环境搭建

    一.redis cluster环境搭建: 1.了解Redis Cluster原理: 详细了解可参考:http://doc.redisfans.com/topic/cluster-tutorial.ht ...

  9. Redis Cluster部署、管理和测试

    背景: Redis 3.0之后支持了Cluster,大大增强了Redis水平扩展的能力.Redis Cluster是Redis官方的集群实现方案,在此之前已经有第三方Redis集群解决方案,如Twen ...

最新文章

  1. Please do not register multiple Pages in pages/buildhelp/buildhelp.js
  2. 国际顶刊《PNAS》:爱发朋友圈的人,更容易长寿
  3. ML_preprocessing
  4. 随机森林案例分析:德国银行信贷风险分析
  5. TCP,IP,HTTP,SOCKET区别和联系
  6. 从“架构师书单”讲开去
  7. 通过poi的XSSF实现生成excel文件
  8. mysql5.7+主从不一致_Mysql5.7安装错误处理与主从同步及!
  9. Elasticsearch-5.1.2分词器IK+pinyin简单测试
  10. tensorflow-gpu2.x无法检测到GPU设备
  11. 3COM小型企业有线局域网方案(三、四、五)
  12. Mask R-CNN抢车位,快人一步!
  13. myeclipse 创建work set 后不显示的解决方法
  14. SuperMap许可驱动安装流程详解
  15. “the+形容词”的四种类型及语法特征
  16. 水量调节大师外挂___安卓版
  17. 【MongoDB】使用$lookup做多表关联处理
  18. 单面打印机=》双面打印
  19. Bluesky勒索软件深度技术分析
  20. Verilog 三种计数器写法

热门文章

  1. dns服务器ip地址 常用列表
  2. mysql 导入文件提示 --secure-file-priv option 问题
  3. linux 交叉编译 生成模块 makefile
  4. Linux Shell 脚本攻略学习--四
  5. Java 序列化的高级认识
  6. 博客同步至阿里云开发者社区,快来帮我涨人气吧
  7. 渗透Xen hypervisor
  8. landmark如何恢复oracle,LandmarkR5000数据迁移方法及迁移常见问题(带图解)
  9. 使用GitHub免费搭建属于自己的网站
  10. 僵尸进程的生成以及几种避免方法