Redis Cluster 原理你了解不?
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 原理你了解不?相关推荐
- 全面剖析Redis Cluster原理和应用
全面剖析Redis Cluster原理和应用 1.Redis Cluster总览 1.1 设计原则和初衷 在官方文档Cluster Spec中,作者详细介绍了Redis集群为什么要设计成现在的样子.最 ...
- 不懂Redis Cluster原理,我被同事diss了!
" Redis 缓存作为使用最多的缓存工具被各大厂商争相使用.通常我们会使用单体的 Redis 应用作为缓存服务,为了保证其高可用还会使用主从模式(Master-Slave),又或者是读写分 ...
- 全面剖析Redis Cluster原理和应用 (good)
redis redis cluster注意的问题 : 1.'cluster-require-full-coverage'参数的设置.该参数是redis配置文件中cluster模式的一个参数,从字面上基 ...
- Redis cluster原理
前言 上文我们聊了基于Sentinel的Redis高可用架构,了解了Redis基于读写分离的主从架构,同时也知道当Redis的master发生故障之后,Sentinel集群是如何执行failover的 ...
- Redis Cluster原理初步
目录 目录 1 1. 前言 1 2. 槽(slots) 1 3. 路由配置(node.conf) 1 4. 总slots数(cluster.h:16384) 2 5. key的路由 2 6. 将key ...
- Redis Cluster 集群模式原理和动态扩容
Redis Cluster原理 详细参考 Redis cluster集群模式的原理, 在这里补充下要点 16384个slot, 平均分布在各个master, key-value 对存储在slot中; ...
- redis cluster中添加删除重分配节点例子
redis cluster中添加删除重分配节点例子 作者:用户 来源:互联网 时间:2016-05-05 10:22:27 摘要: 本文讲的是redis cluster中添加删除重分配节点例子, re ...
- redis cluster以及master-slave在windows下环境搭建
一.redis cluster环境搭建: 1.了解Redis Cluster原理: 详细了解可参考:http://doc.redisfans.com/topic/cluster-tutorial.ht ...
- Redis Cluster部署、管理和测试
背景: Redis 3.0之后支持了Cluster,大大增强了Redis水平扩展的能力.Redis Cluster是Redis官方的集群实现方案,在此之前已经有第三方Redis集群解决方案,如Twen ...
最新文章
- Please do not register multiple Pages in pages/buildhelp/buildhelp.js
- 国际顶刊《PNAS》:爱发朋友圈的人,更容易长寿
- ML_preprocessing
- 随机森林案例分析:德国银行信贷风险分析
- TCP,IP,HTTP,SOCKET区别和联系
- 从“架构师书单”讲开去
- 通过poi的XSSF实现生成excel文件
- mysql5.7+主从不一致_Mysql5.7安装错误处理与主从同步及!
- Elasticsearch-5.1.2分词器IK+pinyin简单测试
- tensorflow-gpu2.x无法检测到GPU设备
- 3COM小型企业有线局域网方案(三、四、五)
- Mask R-CNN抢车位,快人一步!
- myeclipse 创建work set 后不显示的解决方法
- SuperMap许可驱动安装流程详解
- “the+形容词”的四种类型及语法特征
- 水量调节大师外挂___安卓版
- 【MongoDB】使用$lookup做多表关联处理
- 单面打印机=》双面打印
- Bluesky勒索软件深度技术分析
- Verilog 三种计数器写法