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

文章插图
这样,客户端无需做任何变更,只需把连接地址切到 Proxy 上即可,由 Proxy 负责转发数据,以及应对后面集群增删节点带来的路由变更 。
至此,业界主流的 Redis 分片架构已经成型,当你使用分片集群后,对于未来更大的流量压力,也都可以从容面对了!
总结
总结一下,我们是如何从 0 到 1,再从 1 到 N 构建一个稳定、高性能的 Redis 集群的,从这之中你可以清晰地看到 Redis 架构演进的整个过程 。
- 数据怕丢失:持久化(RDB/AOF)
- 恢复时间久:主从副本(副本随时可切)
- 故障手动切换慢:哨兵集群(自动切换)
- 读存在压力:扩容副本(读写分离)
- 写存在压力/容量瓶颈:分片集群
- 分片集群社区方案:Twemproxy、Codis(Redis 节点之间无通信,需要部署哨兵,可横向扩容)
- 分片集群官方方案:Redis Cluster (Redis 节点之间 Gossip 协议,无需部署哨兵,可横向扩容)
- 业务侧升级困难:Proxy + Redis Cluster(不侵入业务侧)
希望这篇文章可以帮你更好的理解 Redis 架构的演进之路 。
作者丨KAIto
来源丨公众号:水滴与银弹(ID:waterdrop_bullet)
推荐阅读
- Redis 为什么这么快?
- 一文搞懂二叉搜索树、B树、B+树、AVL树、红黑树
- Redisson锁机制源码分析
- 揭秘Redis五大数据类型及超实用应用场景!
- 一文吃透JVM分代回收机制
- 一文看懂 Git 的底层工作原理
- Springboot+Redisson封装分布式锁Starter
- 两年法考差1分通过,是不够努力吗,复习建议等一文全攻略
- 一文解析「小米大模型」
- 一文带您了解线性回归:多个变量之间的最佳拟合线的算法
