开发者学堂课程【Redis 数据库入门:Redis_集群_Twitter_Twemproxy模式_2】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/15/detail/62
Redis_ 集群 _Twitter_Twemproxy 模式_2
内容介绍
一、Twemproxy
一、Twemproxy
1.Twitter 开发,代理用户的读写请求
- Twitter 开发的代理服务器,他兼容 Redis 和 Memcached,允许用户将多个 redis 服务器添加到一个服务器池(pool)里面,并通过用户选择的散列函数和分布函数,将来自客户端的命令请求分发给服务器池中的各个服务器
- 通过使用 twemproxv 我们可以将数据库分片到多台 redis 服务器上面,并使用这些服务器来分担系统压力以及数据库容量:在服务器硬件条件相同的情况下,对于一个包含 N 台 redis 服务器的池来说,池中每台平均1/N 的客户端命令请求
- 向池里添加更多服务器可以线性的扩展系统处理命令请求的能力,以及系统能够保存的数据量
2.Twemproxy 配置
sxt:
listen:192168.56.201:22121
hash:fnv1a_64
distribution: ketama
auto eiect hoststrue redis: true
server retry timeout2000
server failure limit: 3
servers:
-192168 56201:6379:1
-192.168.56.202:6379:1
-19216856.203:6379:1
3.Twemproxy 配置说明
- sxt,服务器池的名字,支持创建多个服务器池
- listen:192 16856 201:22121,这个服务器池的监听地址和端口号
- hashfnv1a64 ,键散列算法,用于将键映射为一个散列值
- distribution:ketama ,键分布算法,决定键被分布到哪个服务器
- redis:true ,代理 redis 命令请求,不给定时默认代理 memcached 请求
- servers ,池中各个服务器的地址和端口号及权重
- aluto eiect hosts.
- server failure limit:twemproxv 连续3次向同一个服务器发送命令请求都遇到错误时
- twemproxy 就会将该服务器标记为下线,并交由池中其他在线服务器处理
- 问题:如何监听本地所有地址的某个端口
4.Twemproxy 运行
- #nutcracker-d-c/opt/sxt/twemproxy/conf/nutcracker.sxtyml
- # redis-cli -p 22121 -h 192 168.56.201
5.Twemproxy 安装