redis使用过程主要考虑:高并发、高可用、持久性几个方面

高并发

单节点redis通常能够支持1w到几万的,假如单节点实力能够支撑5w的qps

问题1:如何用redis支撑10万的读qps?

redis高并发架构
redis高并发架构

分为两种情况来考虑:

1、数据量单节点能够完全存储

读写分离+主从架构:单节点->主从模式(每个节点容纳全量的数据)
写入走主节点,读取走从节点,从节点分摊qps
问题扩展:如何支撑100w的读qps呢?
读写分离+主从架构,增加更多的从节点来分担请求
假如单节点qps:5w,提供20个从节点

2、数据量单节点无法完全存储

在实际场景中,往往遇到一个节点的容量问题
(1)业务拆分,数据分类
(2)到了数据不能拆分,进行数据分片
大体可以分为两种模式:
客户端逻辑拆分

  • 进行hash取模
    影响分布式的扩展性%3,%4,增加或者减少机器会影响数据的访问,需要进行数据迁移)

  • 一致性hash算法(常用的解决方案,官方cluster也是采用该方案)

proxy代理层
开源方案:twemproxy

未完待续

参考文献:
Redis的高并发、持久化、高可用架构设计
Redis单节点容量问题

相关文章:

  • 2022-12-23
  • 2021-11-24
  • 2021-05-28
  • 2021-05-28
  • 2021-05-27
  • 2021-10-02
猜你喜欢
  • 2021-08-08
  • 2021-07-25
  • 2021-09-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案