如何设计一个高并发场景
如何设计一个高并发场景?
介绍
可以拆分以下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: