面试题精选-如何设计一个高并发系统
- 系统拆分:可以将一个系统拆分成多个子系统(特别是那些并发量大的模块),每个子系统连一个数据库。
- 缓存:大部分高并发场景都是读多写少,所以写的时候数据库和缓存都写一份,读的时候读取缓存的数据。
- MQ:针对写多的场景,比如一个业务操作需要对数据库频繁的增删改,此时就需要用到MQ,把写的请求写进MQ里面排队去消费,针对那些复杂的写业务场景,MQ可以尝试去用异步的方式写,提升并发性。
- 分库分表:一个数据库拆分成多个库,一个数据表拆分成多个表,每个表数据量少一点,控制在几十万。
- 读写分离:设计主从架构,主库写入,从库读取,读的流量太多,可以增加从库。
- Es:Es是分布式的,可以随意扩容,通过扩容来抗更多的并发,像一些简单查询、统计类、全文搜索的操作可以用Es来承载。
人生如逆旅
我亦是行人

浙公网安备 33010602011771号