当前位置: 移动技术网 > IT编程>数据库>Redis > Redis如何做到高并发和高可用

Redis如何做到高并发和高可用

2020年07月09日  | 移动技术网IT编程  | 我要评论

1、高并发

单机的redis的QPS一般在几万(官方说法可以达到10万)。所以对于十万、百万甚至千万级别的QPS,单机的redis肯定不能支撑这么大的访问量。解决此类高并发问题,可以采用redis的主从架构模式。

主从架构:一主多从实现读写分离,主节点负责写,并将数据同步给其他从节点,从节点负责读,从而实现高并发。

但是,在主从架构中,每个redis实例都容纳了所有的完整数据,比如redis主实例如果有10G的内存容量的话,表示最多只能容纳10g的数据量。如果要缓存更大的数据量,比如几十g,甚至几百g,或者是几t,此时就需要使用redis集群,而且用redis集群之后,可以提供每秒几十万的读写并发。(也就是说,使用redis集群,一方面可以扩展整个redis缓存系统中可以存储的数据量;另一方面也可以提高系统的并发性能)

 

2、高可用

(1)Sentinel哨兵

      如果你做主从架构部署,只要加上哨兵就可以实现任何一个redis实例宕机,自动进行主备切换,保证整个redis系统持续对外提供服务,达到高可用要求。Redis Sentinel是为Redis提供了高可用方案。从实践方面来说,使用Redis Sentinel可以创建一个无需人为干预就可以预防某些故障的Redis环境。Redis Sentinel设计为分布式的架构,运行多个Sentinel进程来共同合作的,当多个Sentinel判定给定的master无法再继续提供服务,就会执行故障检测,从而降低误报的可能性。

Redis Sentinel功能:

Redis Sentinel在Redis高可用方案中主要作用有如下功能:

  • 监控
    Sentinel会不断的检查master和slave是否像预期那样正常运行
  • 通知
    通过API,Sentinel能够通知系统管理员、程序监控的Redis实例出现了故障
  • 自动故障转移
    如果master不像预想中那样正常运行,Sentinel可以启动故障转移过程,其中的一个slave会提成为master,其它slave会重新配置来使用新的master,使用Redis服务的应用程序,当连接时,也会被通知使用新的地址。
  • 配置提供者
    Sentinel可以做为客户端服务发现的认证源:客户端连接Sentinel来获取目前负责给定服务的Redis master地址。如果发生故障转移,Sentinel会报告新的地址。

(2)redis集群

 

3、参考博客

https://blog.csdn.net/ssllkkyyaa/article/details/84107474

本文地址:https://blog.csdn.net/wangqsse/article/details/105853308

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网