一提到高并发、分布式、高可用这些词,很多人都会不自然的想到新闻里阿里双11每秒创建几十万笔的交易订单(2019双11订单创建峰值创纪录每秒54.4万笔)
其实,高并发并不神秘,说白了就是想办法搞定两个指标:提升QPS、降低RT。并且同时保证数据的正确性、系统的可用性就OK了。
- 网站并发量上来了?啥都不要管,先扩容,堆机器。机器多了自然需要集群技术、负载均衡了。(提升QPS)
- 机器多了也扛不住了?服务拆分,把集中式部署改成分布式部署。(提升QPS)
- 分布式了还是扛不住?先做降级,再做限流。(保证系统可用性)
- 数据库扛不住了?上分布式缓存。(降低RT)
- 缓存上了之后,数据还是扛不住?那就考虑读写分离、分库分表、数据库容灾。
- 系统间同步交互有延迟?解耦,上异步方案,采用消息中间件。(降低RT)
- 高并发导致了脏数据?上分布式锁。(保证数据正确性)
- 高并发导致了数据不一致?上分布式事务。(保证数据正确性)