1.现状
以前主要做内网局域网项目,并发量基本没有,使用的是最常规的架构,用户请求经过了
- nginx网关
- server接口
- 数据库
redis仅仅作为存储登录状态的中间件使用,架构简图如下
2.提出问题
现在做的业务是互联网业务,将来会有一定的用户量(抛开dos或者ddos攻击不谈),就将来可能出现的用户量,所造成的并发,上述架构就会出现问题。显而易见问题就是数据库的连接耗尽,接口返回慢,甚至数据库宕机。
抛开数据库连接耗尽问题,光是对核心业务表的高频读写就会造成可怕的锁表问题
上述架构最薄弱的环节就是数据库,很容易就会因高并发而被打爆或者核心业务表锁表。。。
涉及到的业务主要有两块,一块是面向互联网用户,涉及到核心表的高频读写,另一块业务是面向管理员,涉及到对核心表的查询和统计。因此核心业务表的安全稳定,直接关系到整个系统的安全稳定。
3.分析问题
首先是nginx,本身就支持高并发,正常的用户并发访问基本打不死。
然后是Server