redis高并发数据错乱_redis总结:1T以上海量数据+10万以上QPS高并发+99.99%高可用...

      来源:https://blog.csdn.net/qq_34246646/article/details/104402510

redis作用

topic:高并发、亿级流量、高性能、海量数据的场景,电商网站的商品详情页系统的缓存架构

商品详情页系统,大型电商网站,会有很多部分组成,但是支撑高并发、亿级流量的,主要就是其中的大型的缓存架构

在这个大型的缓存架构中,redis是最最基础的一层

高并发,缓存架构中除了redis,还有其他的组成部分,但是redis至关重要

大量的离散请求,随机请求,各种你未知的用户过来的请求,上千万用户过来访问,每个用户访问10次; 集中式的请求,1个用户过来,一天访问1亿次

支撑商品展示的最重要的,就是redis cluster,去抗住每天上亿的请求流量,支撑高并发的访问

redis cluster在整个缓存架构中,如何跟其他几个部分搭配起来组成一个大型的缓存系统,后面再讲

redis高可用

redis的每个特点,要解决的问题是什么???

redis:持久化、复制(主从架构)、哨兵(高可用,主备切换)、redis cluster(海量数据+横向扩容+高可用/主备切换)

持久化:高可用的一部分,在发生redis集群灾难的情况下(比如说部分master+slave全部死掉了),如何快速进行数据恢复,快速实现服务可用,才能实现整个系统的高可用

复制:主从架构,master -> slave 复制,读写分离的架构,写master,读slave,横向扩容slave支撑更高的读吞吐,读高并发,10万,20万,30万,上百万,QPS,横向扩容

哨兵:高可用,主从架构,在master故障的时候,快速将slave切换成master,实现快速的灾难恢复,实现高可用性

redis cluster:多master读写,数据分布式的存储,横向扩容,水平扩容,快速支撑高达的数据量+更高的读写QPS,自动进行master -> slave的主备切换,高可用

总结:让底层的缓存系统,redis,实现能够任意水平扩容,支撑海量数据(1T+,几十T,1个node10G * 600个node==6T),支撑很高的读写QPS(redis单机在几万QPS,10台,几十万QPS),高可用性(每个redis实例都做好AOF+RDB的备份策略+容灾策略,slave -> master主备切换)

是缓存架构支撑:1T+海量数据、10万+读写QPS、99.99%高可用性

redis的第一套企业级的架构

如果你的数据量不大,单master就可以容纳,一般来说你的缓存的总量在10G以内就可以,那么建议按照以下架构去部署redis:

方案:redis持久化+备份方案+容灾方案+replication(主从+读写分离)+sentinal(哨兵集群,3个节点,高可用性)

可以支撑的数据量在10G以内,可以支撑的写QPS在几万左右,可以支撑的读QPS可以上10万以上(随你的需求,水平扩容slave节点就可以),可用性在99.99%

redis的第二套企业级架构

如果你的数据量很大,大型电商网站的商品详情页的架构(对标那些国内排名前三的大电商网站,*宝,*东,*宁易购),能支撑海量数据,redis cluster

方案:多master分布式存储数据,水平扩容

支撑更多的数据量,1T+以上没问题,只要扩容master即可

读写QPS分别都达到几十万都没问题,只要扩容master即可,redis cluster,读写分离,支持不太好,readonly才能去slave上读

支撑99.99%可用性,也没问题,slave -> master的主备切换,冗余slave去进一步提升可用性的方案(每个master挂一个slave,但是整个集群再加个3个slave冗余一下)

后续的务系统的开发,主要是基于redis cluster去做

redis高并发数据错乱_redis总结:1T以上海量数据+10万以上QPS高并发+99.99%高可用..._第1张图片

你可能感兴趣的:(redis高并发数据错乱)