1.Twemproxy
Twitter开源集群方案.
Twemproxy作为代理, 按照路由规则转发请求,给分片后的, 相对应的Redis数据库.
能够减少后端缓存服务器的连接数量.
使用C语言, 只支持单线程.
需要注意: 代理本身也会消耗相当资源.
早期Redis的主流分布式方案.
2.Redis-Cluster
Redis3.0后官方推荐的集群方案.
每个集群的哈希槽(Hash slot)为2^14个,16384
有N个(N>=3)以上的主数据库, 将所有slot分为N份.
每个主数据库有一个或多个从数据库.
从数据库上线后, 会复制来自于主数据库的数据库快照. 之后同步执行所有主数据库的数据库指令.
从数据库可读, 能够负载读.
主服务器兼职哨兵, 当接收到不属于自己管理范围的指令的时候, 会转发给正确的主服务器.
3.Codis
豌豆荚开源的Redis分布式方案.(基于Redis2.8)
使用底层代理方式.
相较于于Redis-Cluster,性能没有明显区别.
优点: UI界面, 维护简单
缺点: 部署复杂
总结:
现如今,Twemproxy已经逐渐不能满足需要.
Redis-Cluster和Codis两者之间, 性能并没有什么大的差别.
如果对于UI操作和管理方面没有太高的要求, 大可简单点部署Redis-Cluster.