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