美文网首页
Redis从入门到精通8:Redis的代理分片

Redis从入门到精通8:Redis的代理分片

作者: 金字塔下的小蜗牛 | 来源:发表于2020-04-07 10:51 被阅读0次

本节来介绍Redis的代理分片的原理和搭建过程。

本节用到的安装介质下载:nutcracker-0.3.0.tar.gz 提取码:ic88

1.Redis代理分片的原理

前面我们介绍了Redis的集群,实现了主从复制和读写分离,即在主节点上写入数据,在从节点上读出数据。那么对于多个从节点来说,客户端该连接哪一个从节点呢?如果所有的客户端都集中连接其中一台从节点的话,那么这个从节点同样会有很大压力,这样就失去了读写分离的意义。那么如何让每个从节点都均衡的对外提供服务呢?这就需要用到Redis的代理来实现Redis集群的负载均衡。

经常使用Twemproxy代理来实现Redis集群的负载均衡。

image

2.Twemproxy代理

Twemproxy是由Twitter开源的一种代理分片服务器。

使用Twemproxy作为Redis集群的代理服务器,可以接受来自多个客户端程序的访问,按照路由规则,转发给后台的各个Redis服务器,再将读取的数据按原路返回给客户端。

该方案很好的解决了单个Redis实例承载能力的问题。

3.搭建Redis代理分片

3.1搭建Redis集群

参考文章:《Redis从入门到精通6:Redis的集群》

3.2安装Twemproxy

(1)上传安装包

# cd /root/tools
# ls nutcracker-0.3.0.tar.gz

(2)解压安装包

tar -zxvf nutcracker-0.3.0.tar.gz

(3)配置编译选项

# cd nutcracker-0.3.0
# ./configure --prefix=/root/trainings/proxy

(4)编译安装

# make
# make install

3.3修改配置文件

# cd /root/trainings/proxy
# mkdir conf
# cp /root/tools/nutcracker-0.3.0/conf/nutcracker.yml conf/
# vim conf/nutcracker.yml
alpha:
listen: 127.0.0.1:22121
hash: fnvla_64
distribution: ketana
auto_eject_hosts: true
redis: true
server_retry_timeout: 2000
server_failure_limit: 1
servers:
- 127.0.0.1:6380:1
- 127.0.0.1:6381:1

3.4检查配置文件

# sbin/nutcracker -t conf/nutcracker
nutcracker: configuration file 'conf/nutcracker.yml' syntax is ok

3.5启动代理服务器

# sbin/nutcracker -d conf/nutcracker

4.通过代理服务器读取Redis数据

# cd /root/trainings/redis
# bin/redis-cli -p 22121
127.0.0.1:22121> get Tom
"900"

至此,我们已经实现了使用代理来访问Redis集群。使用代理的好处是,redis集群对用户透明,只要有一台Redis节点工作,通过代理服务器就能访问该节点上的数据。

相关文章

网友评论

      本文标题:Redis从入门到精通8:Redis的代理分片

      本文链接:https://www.haomeiwen.com/subject/kfmkdhtx.html