分享一个利用redis缓存挡住高频的数据库读写的架构设计

1.现状

以前主要做内网局域网项目,并发量基本没有,使用的是最常规的架构,用户请求经过了

  1. nginx网关
  2. server接口
  3. 数据库
    redis仅仅作为存储登录状态的中间件使用,架构简图如下
    分享一个利用redis缓存挡住高频的数据库读写的架构设计_第1张图片

2.提出问题

现在做的业务是互联网业务,将来会有一定的用户量(抛开dos或者ddos攻击不谈),就将来可能出现的用户量,所造成的并发,上述架构就会出现问题。显而易见问题就是数据库的连接耗尽,接口返回慢,甚至数据库宕机。
抛开数据库连接耗尽问题,光是对核心业务表的高频读写就会造成可怕的锁表问题
上述架构最薄弱的环节就是数据库,很容易就会因高并发而被打爆或者核心业务表锁表。。。

涉及到的业务主要有两块,一块是面向互联网用户,涉及到核心表的高频读写,另一块业务是面向管理员,涉及到对核心表的查询和统计。因此核心业务表的安全稳定,直接关系到整个系统的安全稳定。

3.分析问题

分享一个利用redis缓存挡住高频的数据库读写的架构设计_第2张图片
首先是nginx,本身就支持高并发,正常的用户并发访问基本打不死。
然后是Server,可以轻易的横

你可能感兴趣的:(编程思想,架构设计,redis,缓存,数据库,redis)