欢迎光临散文网 会员登陆 & 注册

关于twemproxy和redis分布式

2023-08-16 10:06 作者:左音king  | 我要投稿

为什么要使用twemproxy 出于两点原因:

1、redis是单线程实例,若要获得多核的好处,只能实现多个实例,

实例之间不能共享数据,只能sharding 

2、若数据量太大,则必须分布式部署redis,

使用sharding 两个原因其实可以归为一个,如何分布式部署redis。 


为什么要使用twemproxy

出于两点原因:

1、redis是单线程实例,若要获得多核的好处,只能实现多个实例,香港服务器,

实例之间不能共享数据,只能sharding

2、若数据量太大,则必须分布式部署redis,使用sharding


两个原因其实可以归为一个,如何分布式部署redis。 

而redis本身并不支持分布式部署,只支持master-slave,香港服务器,若客户端直接操作redis的话,

就必须在应用层编写sharding和节点监控的代码。


如果使用twemproxy作为代理,客户端不直接操作redis只是访问rwemproxy,

sharding和节点监控以及其他一些麻烦的工作rwemproxy都帮我们做好了,

美国服务器,只需要配置即可。


项目应用的时候,我们可能会把redis作为数据存储也可能会拿来做缓存,

第一种情况我们需要在配置中做静态映射,第二种情况我们允许自动卸载失败节点,

过一段时间重试,这时候数据可能会被写到另外一个节点,导致弱一致性。


注意的地方:

1、twemproxy也是单线程实例,在生产环境可能需要启动多个实例以发挥多核的能力。

2、不支持除mget,del之外的redis批处理命令,如取多个集合交集等等

3、不支持脚本eval

4、twemproxy不能够拿从节点作为替代方案

本文来源:https://www.fushouyu.com/shouyou/139.html

关于twemproxy和redis分布式的评论 (共 条)

分享到微博请遵守国家法律