赞
踩
原理如下所示:
client-partition
特性
基本原理如下所示:
proxy-based-partition
特性
基本原理如下所示:
query-routing
Twemproxy高可用部署架构
Twemproxy特性
Twemproxy不足
Twitter内部已经不再使用。
Redis Cluster模型
redis-cluster architecture
Redis-cluster原理
Redis-cluster请求路由方式
查询路由的流程如下所示:
query router of redis cluster
Redis cluster采用这种架构的考虑:
- 减少redis实现的复杂度
- 降低客户端等待的时间。Smart client可以在客户端缓存 slot 与 redis节点的映射关系,当接收到 MOVED 响应时,会修改缓存中的映射关系。请求时会直接发送到正确的节点上,减少一次交互。
Redis Cluster特性
Redis Cluster不足
Codis部署拓扑
Codis部署拓扑
Codis数据存储
Codis模块简介
Codis主从切换
Codis数据迁移流程
迁移过程如下所示:
迁移过程中,Codis-dashboard与proxy通过zk通信,路由表信息全部存放在zk,保证所有proxy的视图一致。
Codis如何保证数据迁移过程的正确及透明?
对比参数 | Codis | Redis-cluster |
---|---|---|
Redis版本 | 基于2.8分支开发 | >= 3.0 |
部署 | 较复杂。 | 简单 |
运维 | Dashboard,运维方便。 | 运维人员手动通过命令操作。 |
监控 | 可在Dashboard里监控当前redis-server节点情况,较为便捷。 | 不提供监控功能。 |
组织架构 | Proxy-Based, 类中心化架构,集群管理层与存储层解耦。 | P2P模型,gossip协议负责集群内部通信。去中心化 |
伸缩性 | 支持动态伸缩。 | 支持动态伸缩 |
主节点失效处理 | 自动选主。 | 自动选主。 |
数据迁移 | 简单。支持透明迁移。 | 需要运维人员手动操作。支持透明迁移。 |
升级 | 基于redis 2.8分支开发,后续升级不能保证;Redis-server必须是此版本的codis,无法使用新版本redis的增强特性。 | Redis官方推出,后续升级可保证。 |
可靠性 | 经过线上服务验证,可靠性较高。 | 新推出,坑会比较多。遇到bug之后需要等官网升级。 |
- 理论上,redis-cluster的性能更高,单次请求的延时低。另外,经过实测,两种架构后端单台redis-server的条件下,TPS基本没有差别。
- Codis的高可用依赖jodis,或者使用LVS进行高可用部署。
压测结论
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。