如何设计一个高并发场景


如何设计一个高并发场景?

介绍

可以拆分以下6点:

  • 系统拆分
  • 缓存
  • MQ
  • 分库分表
  • 读写分离
  • ElasticSearch

系统拆分

将一个系统拆分成多个子系统,可以使用dubbo。然后每个系统连一个数据库,相当于多个数据库

缓存

大部分高并发场景都是读多写少,完全可以在数据库和缓存都写一份,然后读的时候走缓存。redis可以轻松单机几万的并发。

MQ

比如一个业务操作要频繁搞数据库几十次,用MQ,大量写请求灌入MQ里,排队后面系统慢慢写入,控制在mysql承载范围内。

分库分表

将数据库分为多个库,多个库抗更多的并发;将一个表拆分多个表,每个表的数据量保持少一点,提高sql的性能。

读写分离

大部分数据库可能读多写少,没必要所有请求都集中在一个库,可以搞主从架构,主库写入,从库读取,读写分离。

ElasticSearch

简称es。es是分布式,可以随便扩容,天然的分布式可以支撑高并发。一些简单的查询,统计类的操作,可以用es来承载,还有一些全文搜索类的操作,可以考虑用es来承载。




Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • 2379. Minimum Recolors to Get K Consecutive Black Blocks
  • 2471. Minimum Number of Operations to Sort a Binary Tree by Level
  • 1387. Sort Integers by The Power Value
  • 2090. K Radius Subarray Averages
  • 2545. Sort the Students by Their Kth Score