redis集群路由怎么配置

Redis集群方案应该怎么做?

Redis在3.0之前,是只支持单实例模式的,虽然现在服务器的内存也可以达到几百G的规模,但是考虑到成本问题,大多数公司都会采用集群方案,把数据分片存到多个Redis实例中。

特克斯ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

这个方案比较简单,也就是在客户端中,通过定义好的路由规则,把不同的key存储(路由)到不同的Redis实例中;比如hash(key)%N,根据结果把key路由到Redis1-RedisN中。

优点:不依赖第三方中间件,完全自己实现,能够自我掌控。

缺点:增加或者减少Redis实例的时候,需要调整程序,而且在调整之后的一段时间,大部分缓存会失效(路由结果改变了);

客户端把请求发送到Redis中间件,中间件根据路由规则发送请求到正确的Redis实例,然后中间件再把结果返回给客户端。常用的几个:

Twemproxy:由Twitter开源;客户端可以像连接Redis实例一样连接Twemproxy,不需要修改代码逻辑;Twemproxy可以自动地Redis保持连接(可以看成数据库连接池),而且可以自动删除无效Redis实例;缺点也是有的,客户端和Redis中增加了一层,性能方面多少会有一些损耗,更大的问题,是Twemproxy无法平滑地增加Redis实例。

公司redis集群有了蛮大的规模,权且来分享下redis集群!

首先,不可否认的是,redis的单机性能相当高,但是就算把内存大量扩大(垂直扩展),也不可能满足大业务需要的性能和可维护性!所以,集群是很好的一个选择,通过集群可以实现水平扩展,提升整体的性能!

集群方案1:使用客户端分片的方式,增加多台redis服务器之后,在业务端使用某种路由规则(hash算法等),将不同key对应的数据放在不同的redis服务器中,实现内容分发!

但是这样的方式有很多缺点,比如业务代码和redis数据路由代码严重耦合,可扩展性也十分底下,需要增加redis实例的同时,修改原先的分发规则,而一旦出现问题,排查难度大(因为运维和代码端都要查)!

集群方案2:使用开源产品twemproxy作为redis代理!中间件twemcache负责接收业务端的请求,然后从不同的redis实例中收集数据传送给业务方,起到一个中间代理的作用!业务端像连接一个redis实例一样连接twemproxy,实现了业务代码和redis之间的解耦合!同时,对于失效的redis会被自动踢出,防止数据的丢失,不过twemproxy作为一个中间件,肯定会对需要实时性强的系统造成性能损失,动态无痕迹的增加redis实例也是很困难的!!

集群方案3:使用codis集群,类似于twemproxy,客户端也不需要去连接redis实例,而使用codis作为中间件,让codis底层自己去获取数据,增加的codis dashboard可以对codis proxy和codis server进行统一管理,对实例节点的改变可以有效应对!

集群方案4:redis自主集群,使用纯redis实现集群,完全的去中心化!redis集群把所有的key放在16384个slot中,各个redis可以通过重定向引导客户端访问数据所在的集群点,比如client访问redis2,redis2发现数据的key在redis1中,就引导客户端重定向去redis1中取数据,这样不需要别的中间件就能很好的实现数据获取,而且这样的纯redis方式,部署起来也是十分方便的!

集群方案5:直接买阿里,腾讯的集群吧,想要啥样的给你啥样的。。

我们公司现在使用的是基于codis的redis集群,管理相对来说比较简单,算是比较不错的集监控,代理于一身的组件!

redis集群具体的使用过程中,如果有问题,可以私信我进行交流!更多的技术分享,敬请关注。。。

到此,以上就是小编对于redis集群lua的问题就介绍到这了,希望这1点解答对大家有用。

分享题目:redis集群路由怎么配置
当前地址:http://www.shufengxianlan.com/qtweb/news31/229781.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联