一文搞懂Redis架构演化之路( 五 )


于是,各个公司有开始自研针对 Redis Cluster 的 Proxy,降低客户端的升级成本,架构就变成了这样:

一文搞懂Redis架构演化之路

文章插图
这样,客户端无需做任何变更,只需把连接地址切到 Proxy 上即可,由 Proxy 负责转发数据,以及应对后面集群增删节点带来的路由变更 。
至此,业界主流的 Redis 分片架构已经成型,当你使用分片集群后,对于未来更大的流量压力,也都可以从容面对了!
总结
总结一下,我们是如何从 0 到 1,再从 1 到 N 构建一个稳定、高性能的 Redis 集群的,从这之中你可以清晰地看到 Redis 架构演进的整个过程 。
  • 数据怕丢失:持久化(RDB/AOF)
  • 恢复时间久:主从副本(副本随时可切)
  • 故障手动切换慢:哨兵集群(自动切换)
  • 读存在压力:扩容副本(读写分离)
  • 写存在压力/容量瓶颈:分片集群
  • 分片集群社区方案:Twemproxy、Codis(Redis 节点之间无通信,需要部署哨兵,可横向扩容)
  • 分片集群官方方案:Redis Cluster (Redis 节点之间 Gossip 协议,无需部署哨兵,可横向扩容)
  • 业务侧升级困难:Proxy + Redis Cluster(不侵入业务侧)
至此,我们的 Redis 集群才得以长期稳定、高性能的为我们的业务提供服务 。
希望这篇文章可以帮你更好的理解 Redis 架构的演进之路 。
作者丨KAIto
来源丨公众号:水滴与银弹(ID:waterdrop_bullet)




推荐阅读