加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Github上近万Star!Codis,中国人开源的Redis集群部署解决方案

发布时间:2019-06-18 12:47:13 所属栏目:建站 来源:沙茶敏碎碎念
导读:我们都知道Redis是单机单历程的,在之前的测试中,我们也知道Redis的单机机能是有限的,而且高机能的呆板着实很是昂贵。一个俊杰三个帮,漫衍式体系正是操作了多台平凡计较器从而被大量互联网公司所行使,本日我们来聊一聊Redis集群的一种办理方案--Codis

我们都知道Redis是单机单历程的,在之前的测试中,我们也知道Redis的单机机能是有限的,而且高机能的呆板着实很是昂贵。一个俊杰三个帮,漫衍式体系正是操作了多台平凡计较器从而被大量互联网公司所行使,本日我们来聊一聊Redis集群的一种办理方案--Codis。

Github上近万Star!Codis,中国人开源的Redis集群陈设办理方案

Codis,Github上面近万star,是一款由中国人开源的Redis集群办理方案,由前豌豆夹团队提供。Codis,它是一款Redis的Proxy,首要认真把Redis的哀求分发到差异的Redis实例傍边。

Github上近万Star!Codis,中国人开源的Redis集群陈设办理方案

我们从一次get哀求来表明一下,Codis是怎样事变的。由于Codis署理了Redis处事,以是我们提倡哀求的时辰,并不是哀求到Redis-server地址的呆板上,而是到Codis呆板上,Codis呆板再按照必然的路由法则举办分发,最终哀求到Redis-Server的呆板上,也就是说,假如我们行使一个mget哀求,也许会到多台呆板上。

Github上近万Star!Codis,中国人开源的Redis集群陈设办理方案

很显然,这样子Codis也会存在单点题目,亏得Codis是一个无状态的处事,以是我们可以同时陈设多个Codis实例。

Github上近万Star!Codis,中国人开源的Redis集群陈设办理方案

Codis是怎样把对应的key分派到差异呆板的呢?机密就在于Codis的Slot,Codis切分出1024(可设置)个Slot,每个Slot会绑定差异的Redis实例,这里为什么要切分到1024个呢?这是一个不错的思索题?可以从扩容缩容偏向举办思量。

Github上近万Star!Codis,中国人开源的Redis集群陈设办理方案

那么差异的Codis气力是怎样同步Slot的数据呢?Codis的要领很是简朴粗暴,那即是行使ZooKeeper。ZooKeeper不是发明处事么?怎么还能用来存储数据?ZooKeeper着实为每个目次提供了1M的存储空间,通过Quorum的2pc机制来做数据同等性。以是,ZooKeeper可以偷偷用来做数据小,吞吐不是那么大的数据存储。

Github上近万Star!Codis,中国人开源的Redis集群陈设办理方案

Codis提供一个Dashboard给用户编辑Slot的环境,当用户编辑的时辰,会由Zookeeper分发给全部的Codis实例。利益

Codis很是的简朴,无论是领略上,题目排查上照旧陈设上,都很是的简朴。他把一些漫衍式同等性的对象交给了其它的开源方案Zookeeper去办理,自身很是轻量级。

弱点

因为Codis的数据是落在多台呆板上的,以是,Redis的事宜成果就不能行使了,对付批量查询接口,Codis必要到多台呆板上去获取功效,这就不能担保数据的同等性。会存在这样的环境,行使Codis同时获取key1与key2,同时Update两者的值,也许获取到的Value1是新版本,而Value2为旧版本。

Codis会对Slot举办数据迁徙,假如key-value的数据太小太大的话,就会影响迁徙的服从,以是Codis官方保举Codis的key-value巨细不要高出1M。

因为Codis不是Redis的官方项目,以是每当Redis宣布新版本的时辰,Codis城市瑟瑟抖动,跟着Redis退出本身的亲儿子Redis-Cluster,Codis的竞争力都在削弱。

Github上近万Star!Codis,中国人开源的Redis集群陈设办理方案

本日我们对Github上面10kstar的Codis就先容到这里,假如你有乐趣,接待存眷我,我们后头再继承说明,谈一谈Codis中是怎样做数据迁徙的。

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读