- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
由于Redis出众的性能,其在众多的移动互联网企业中得到广泛的应用。Redis在3.0版本前只支持单实例模式,虽然
现在的服务器内存可以到100GB、200GB的规模,但是单实例模式限制了Redis没法满足业务的需求(例如
就曾经用Redis了超过1TB的数据)。Redis的开发者Antirez早在博客上就提出在Redis3.0版本中加入集群的
功能,但3.0版本等到2015年才发布正式版。各大企业在3.0版本还没发布前为了解决Redis的瓶颈,纷纷推出了
各自的Redis集群方案。这些方案的思想是把数据分片(sharding)在多个Redis实例中,每一片就是一个
Redis实例。
下面介绍Redis的集群方案。
1.客户端分片
客户端分片是把分片的逻辑放在Redis客户端实现,通过Redis客户端预先定义好的路由规则,把对Key的转
发到不同的Redis实例中,最后把返回结果汇集。这种方案的模式如图1所示。
图1客户端分片的模式
客户端分片的好处是所有的逻辑都是的,不依赖于第分布式中间件。开发人员清楚怎么实现分片、路由的
规则,不用担心踩坑。
客户端分片方案有下面这些缺点。
•
这是一种静态的分片方案,需要增加或者减少Redis实例的数量,需要手工调整分片的程序。
•
•
可运维性差,集群的数据出了任何问题都需要运维人员和开发人员一起合作,减缓了解决问题的速度,增加了跨部
门沟通的成本。
•
•
在不同的客户端程序中,相同的分片逻辑成本巨大。例如,系统中有两套业务系统共用一套Redis集群,一套
业务系统用Java实现,另一套业务系统用PHP实现。为了保证分片逻辑的一致性,在Java客户端中实现的分片逻
辑也需要在PHP客户端实现一次。相同的逻辑在不同的系统中分别实现,这种设计本来就非常糟糕,而且需要耗费
巨大的开发成本保证两套业务系统分片逻辑的一致性。
•
2.Twem
Twem是由开源的Redis,其基本原理是:Redis客户端把请求发送到Twem,Twem
根据路由规则发送到正确的Redis实例,最后Twem把结果汇集返回给客户端。
Twem通过引入一个层,将多个Redis实例进行统一管理,使Redis客户端只需要在Twem上进
行操作,而不需要关心后面有多少个Redis实例,从而实现了Redis集群。
Twem集群架构如图2所示。
图2Twem集群架构
由于Redis出众的性能,其在人群的移动互联网企业中得到广泛的应用。edis在3.0版本之前只支持单实例模式,虽然
100GB、200GB的规模,但单实例模式限制了Redis业务业务的需求博就曾经用博就曾经用了超过1TB的数据。
Redis的开发者Redis3.0版本中加入集群但但版本还没有到版本等待版本等待版本尚未发布前要解决‑Redis版本尚未发布前需
要解决Redis版本等待版本尚未发布前需要解决版本尚未发布前需要解决Redis版本尚未发布前需要解决Redis版本尚未发布
前需要解决Redis版本尚未发布前需要解决Redis,。版本尚未发布前需要解决Redis版本中加入集群版本尚未发布前需要解决
Redis版本
文档评论(0)