面试题精选-如何设计一个高并发系统

  1. 系统拆分:可以将一个系统拆分成多个子系统(特别是那些并发量大的模块),每个子系统连一个数据库。
  2. 缓存:大部分高并发场景都是读多写少,所以写的时候数据库和缓存都写一份,读的时候读取缓存的数据。
  3. MQ:针对写多的场景,比如一个业务操作需要对数据库频繁的增删改,此时就需要用到MQ,把写的请求写进MQ里面排队去消费,针对那些复杂的写业务场景,MQ可以尝试去用异步的方式写,提升并发性。
  4. 分库分表:一个数据库拆分成多个库,一个数据表拆分成多个表,每个表数据量少一点,控制在几十万。
  5. 读写分离:设计主从架构,主库写入,从库读取,读的流量太多,可以增加从库。
  6. Es:Es是分布式的,可以随意扩容,通过扩容来抗更多的并发,像一些简单查询、统计类、全文搜索的操作可以用Es来承载。
posted @ 2024-11-26 13:52  相遇就是有缘  阅读(66)  评论(0)    收藏  举报