Redis各个模块的作用及2种企业架构选择
程序员文章站
2022-03-26 14:36:36
1.Redis最主要的主题有哪些?持久化、复制(主从架构)、哨兵(高可用,主备切换)、redis cluster(海量数据+横向扩容+高可用/主备切换)持久化:高可用的一部分,在发生redis集群灾难的情况下(比如说部分master+slave全部死掉了),就需要通过持久化快速进行数据恢复,快速实现服务可用,才能实现整个系统的高可用;复制:主从架构中用到(一个Master至少一个slave),master -> slave 数据复制 ;读写分离的架构,写通过master节点,读slave节...
1.Redis最主要的主题有哪些?
持久化、复制(主从架构)、哨兵(高可用,主备切换)、redis cluster(海量数据+横向扩容+高可用/主备切换)
- 持久化:高可用的一部分,在发生redis集群灾难的情况下(比如说部分master+slave全部死掉了),就需要通过持久化快速进行数据恢复,快速实现服务可用,才能实现整个系统的高可用;
- 复制:主从架构中用到(一个Master至少一个slave),master -> slave 数据复制 ;读写分离的架构,写通过master节点,读slave节点,横向扩容slave支撑更高的读吞吐,读高并发;
- 哨兵:主从架构实现高可用(一个Master至少一个slave),在master故障的时候,快速将slave切换成master,实现快速的灾难恢复,实现高可用性;
- redis cluster:多master读写,数据分布式存储,横向水平扩容,快速支撑更大的数据量+更高的读写QPS,自动进行master -> slave的主备切换,实现高可用;
2.企业级 Redis 架构的选择
主从架构
如果你的数据量不大单master就可以容纳,一般来说你的缓存的总量在10G以内就可以,那么建议按照以下架构去部署redis
【redis持久化+备份方案(文件备份)+容灾方案(文件恢复)+replication(主从+读写分离)+sentinal(哨兵集群,3个节点,高可用性)】
可以支撑的数据量在10G以内,可以支撑的写QPS在几万左右,可以支撑的读QPS可以上10万以上(随需求水平扩容slave节点就可以),可用性在99.99%
Cluster集群架构
如果你的数据量很大,比如某些大型电商网站的商品详情页的架构数据量是很大的
数据是海量的
我们就必须采用:redis cluster
多master分布式存储数据,水平扩容(Redis自己的算法将数据分布在不同的Master节点上)
支撑更多的数据量只要扩容master即可
读写QPS分别都达到几十万都没问题,只要扩容master即可,
【redis cluster 读写分离支持不太好 readonly才能去slave上读;一般读写都在Master上】
支撑99.99%可用性也没问题
slave -> master的主备切换:可以冗余一些slave去进一步提升可用性的方案(每个master挂一个slave,但是整个集群再加个3个slave冗余一下:万一某个Slave挂了Cluster会自动将冗余的Slave挂载过去)
本文地址:https://blog.csdn.net/ming1215919/article/details/107348990