在《全面剖析Redis Cluster原理和应用》中,我们已经详细剖析了现阶段Redis Cluster的缺点:
- 无中心化架构
- Gossip消息的开销
- 不停机升级困难
- 无法根据统计区分冷热数据
- 客户端的挑战
- Cluster协议支持
- 连接和路由表的维护开销
- MultiOp和Pipeline支持有限
- Redis实现问题
- 不能自动发现
- 不能自动Resharding
- 无监控管理UI
- 最终一致性和“脑裂”问题
- 数据迁移以Key为单位,速度较慢
- 数据迁移没有保存进度,故障时不能恢复
- Slave“冷备”,不能缓解读压力
当然之前也说过了:“这与Redis的设计初衷有关,毕竟作者都已经说了,最核心的设计目标就是性能、水平伸缩和可用性”。但综合来看,要想在生产环境中使用Redis Cluster,我们还是有一些工作要做的。本文就从宏观层面上,列举一些架构优化的参考方案。
本文作者:geelou
本文来自云栖社区合作伙伴rediscn,了解相关信息可以关注redis.cn网站。