栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

redis集群分片的原理详解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

redis集群分片的原理详解

redis集群分片的主要目的是解决容量问题,一般redis每台机器的内存都设置的比较小,当然小有小的好处,比如在做备份时负担比较小,管理内存的代价小等等,集群设计根据不同业务场景可以进行如下设计:

1、数据可以进行业务分类:不同业务选用不同的redis

2、数据没办法拆分:

1)hash取模:

弊端:取模的数必须固定 %3、%4、%10 影响分布式下的扩展性

2)随机存储:

 

3)一致性hash:

规划环形hash环:

 

 

优点:你加节点,可以分担其他节点的压力,不会造成全局洗牌

缺点:新增节点造成一小部分数据不能命中

1)比如击穿问题出现,压到mysql查询,然后在放到缓存中。

2)去取离我最近的2个物理节点,如果两次都没有,再去数据库取,放到缓存中。

3、分片的形式:

1)直接连:

redis的连接成本很高,对server端造成的

 

2)采用代理:

 

3)采用LVS负载:

常用三种代理:twitter、predixy、cluster ;后面我们后详细演示。

4、redis分区原理:

1)直接分:

2)间接灵活分区:

 

比如客户端连接的是中间的节点,而某个key的hash值是4 ,此请求会在中间的节点再次hash,找到hash为4的key所在的节点。 

5、实战演示 twitter predixy代理:

 

进入:

 

继续:

 

 

6、演示twitter 进入服务器:相关git链接

新建 twemproxy 目录:

 下载前升级:

 下载

  查看:

参考:

 

流程:

$ git clone git@github.com:twitter/twemproxy.git
$ cd twemproxy
$ autoreconf -fvi
$ ./configure --enable-debug=full
$ make
$ src/nutcracker -h

线安装:

 正式安装:

 版本底,查看:

去这里镜像:

 拉取:

 拉到了:

查看后清除缓存:

 再次下载:

继续:

 然后:

 继续:

然后 make命令:

查看:

 

步骤太多了, 总之,按照下面的文档一步一步来,很快就搭建配置好。到此分片分享完成,大家一定小详细查看文档,认真测试,下一篇我们分享补充一些常用的项目使用的API,敬请期待!

常用文档参考

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777417.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号