前言:一个企业级系统最重要的指标就是“高可用性”和“高性能”
如果数据量不大,直接用一个Redis实例即可,读写均走Master
如果数据量很大,为了减轻单个Redis实例压力,采取写到Master、读走Slave,前提是Slave会同步Master全量数据。Master-Slave(主从复制)解决了“读”性能问题,并没有解决“写”性能问题,也没用解决“高可用性”问题
为了保证高可用,引入了Sentinel(哨兵)监视Master-Slave,当Master挂掉之后,自动将Slave选举为新的Master,保证服务可用。哨兵是Redis官方提供高可用方案,解决了“读”性能问题和“高可用性”问题
为了解决“写”性能和单个Redis实例存储限制,引入了数据分片(Partition)和集群机制(Cluster),在Redis集群中,可以有多个Master(一般3个Master3个Slave),key经过算法计算之后分散到不同Master中存储,Redis Cluster解决了“读”性能、“写”性能和“高可用性”问题
本文探讨了Redis在企业级应用中的高可用性和性能优化方案,包括主从复制解决读性能问题,哨兵机制保障高可用,以及通过数据分片和集群机制解决写性能和存储限制。
994

被折叠的 条评论
为什么被折叠?



