上QQ阅读APP看书,第一时间看更新
4.5 缓存的高可用设计
关于缓存高可用设计的问题,其实可以单独用一章来讲,但是考虑到Redis的用法介绍偏理论,本书主要讲场景,这里就不讲详细的用法了,只讲要点。
设计高可用方案时,需要考虑5个要点。
1)负载均衡:是否可以通过加节点的方式来水平分担读请求压力。
2)分片:是否可以通过划分到不同节点的方式来水平分担写压力。
3)数据冗余:一个节点的数据如果失效,其他节点的数据是否可以直接承担失效节点的职责。
4)Failover:任何节点失效后,集群的职责是否可以重新分配以保障集群正常工作。
5)一致性保证:在数据冗余、Failover、分片机制的数据转移过程中,如果某个地方出了问题,能否保证所有的节点数据或节点与数据库之间数据的一致性(依靠Redis本身是不行的)。
如果对缓存高可用有需求,可以使用Redis的Cluster模式,以上5个要点它都会涉及。关于Cluster的配置方法,可以参考Redis官方文档或其他相关教程。