ITPub博客

首页 > 应用开发 > Java > redis的高并发和高可用方案

redis的高并发和高可用方案

原创 Java 作者:吃了菜菜长得快 时间:2024-06-17 11:23:55 0 删除 编辑

单机版的redis支持上万到几万的QPS不等。主要根据你的业务操作的复杂性,redis提供了很多复杂的操作,lua脚本.

redis高并发:主从架构,一主多从,读写分离。一般来说,很多项目其实就足够了,单主用来写入数据,单机几万QPS,多从用来查询数据,多个从实例可以提供每秒10万的QPS。

redis高并发的同时,还需要容纳大量的数据:一主多从,每个实例都容纳了完整的数据,比如redis主就10G的内存量,其实你就最对只能容纳10g的数据量。如果你的缓存要容纳的数据量很大,达到了几十g,甚至几百g,或者是几t,那你就需要redis集群,而且用redis集群之后,可以提供可能每秒几十万的读写并发。

redis高可用:如果你做主从架构部署,其实就是加上sentinal哨兵就可以了,就可以实现,任何一个实例宕机,自动会进行主备切换。



master和salver进行数据的 异步复制。都是写入一个写请求,然后异步的方式,将数据同步到slave。启动slave的时候,它会向master发送一个同步的请求,如果slave是第一次启动,master会做一次全量同步,master后台启动一个线程,生成一个RDB快照,同时还会将接下来所有写命令缓存在内存中。RDB文件生成完毕之后,master会将这个RDB发送给slave,slave会先写入本地磁盘,然后再从本地磁盘加载到内存中。然后master会将内存中缓存的写命令发送给slave,slave也会同步这些数据。


哨兵是redis集群架构中非常重要的一个组件,主要功能如下

(1)集群监控,负责监控redis master和slave进程是否正常工作
(2)消息通知,如果某个redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员
(3)故障转移,如果master node挂掉了,会自动转移到slave node上
(4)配置中心,如果故障转移发生了,通知client客户端新的master地址


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70038971/viewspace-3019003/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2024-06-05

  • 博文量
    9
  • 访问量
    9571