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

  • 时间:
  • 浏览:32
  • 来源:5分6合平台-5分6合官方

另一个 多 好汉另一个 多 帮彩神财神,分布式系统正是利用了多台普通计算器从而被极少量互联网公司所使用,今天彩神财神亲戚亲戚朋友 来聊一聊Redis集群的一种生活外理方案--Codis。

作者:沙茶敏碎碎念来源:头条科技|2019-06-18 10:14

亲戚亲戚朋友 都知道Redis是单机单守护进程池池的,在以前 的测试中,亲戚亲戚朋友 也知道Redis的单机性能是有限的,就让 高性能的机器虽然非常昂贵。另一个 多 好汉另一个 多 帮,分布式系统正是利用了多台普通计算器从而被极少量互联网公司所使用,今天亲戚亲戚朋友 来聊一聊Redis集群的一种生活外理方案--Codis。

Codis,Github上面近万star,是一款由中国人开源的Redis集群外理方案,由前豌豆夹团队提供。Codis,它是一款Redis的Proxy,主要负责把Redis的请求派发到不同的Redis实例当中。

亲戚亲戚朋友 从一次get请求来解释一下,Codis是怎么工作的。原困Codis代理了Redis服务,什么都有亲戚亲戚朋友 发起请求的以前 ,都不 就让 是请求到Redis-server所在的机器上,就让 到Codis机器上,Codis机器再根据一定的路由规则进行派发,最终请求到Redis-Server的机器上,也就让 说,原困亲戚亲戚朋友 使用另一个 多 mget请求,原困会到多台机器上。

很显然,原来子Codis也会趋于稳定单点哪几种的问题报告 ,好在Codis是另一个 多 无清况 的服务,什么都有亲戚亲戚朋友 可不前要同时部署多个Codis实例。

Codis是怎么把对应的key分配到不同机器的呢?奥秘就在于Codis的Slot,Codis切分出1024(可配置)个Slot,每个Slot会绑定不同的Redis实例,这里为哪几种要切分到102另一个 多 呢?这是另一个 多 不错的思考题?可不前要从扩容缩容方向进行考虑。

没有 不同的Codis实力是怎么同步Slot的数据呢?Codis的依据非常简单粗暴,那便是使用ZooKeeper。ZooKeeper都不 发现服务么?为什么会么会还能用来存储数据?ZooKeeper虽然为每个目录提供了1M的存储空间,通过Quorum的2pc机制来做数据一致性。什么都有,ZooKeeper可不前要偷偷用来做数据小,吞吐都不 没有 大的数据存储。

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上面10kstar的Codis就介绍到这里,原困你有兴趣,欢迎关注我,亲戚亲戚朋友 上面再继续分析,谈一谈Codis中是怎么做数据迁移的。

【编辑推荐】

【责任编辑:

张燕妮

TEL:(010)684761006】



点赞 0