我们都知道,高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让流量更加平稳得被系统中的服务和组件处理。
我们在应对高并发大流量时也会采用类似“抵御洪水”的方案,我们在淘宝网APP的高并发系统设计上也沿用了同样的思路,归纳起来共有三种方法。
- Scale-out
- 缓存
- 异步调用
既然我们了解了这三种方法,那么是不是意味着在高并发系统设计中,开发一个系统时要把这些方法都用上呢?当然不是,系统的设计是不断演进的。
罗马不是一天建成的,系统的设计也是如此。不同量级的系统有不同的痛点,也就有不同的架构设计的侧重点。如果都按照百万、千万并发来设计系统,电商一律向淘宝看齐,IM 全都学习微信和 QQ,那么这些系统的命运一定是灭亡。那么怎么学习呢?
我花了90天的时间整理出这份文档,我想结合自己的高并发项目经验,系统性地总结下高并发需要掌握的知识和实践思路,希望对你有所帮助。本文档共分为7个大的模块,为了不影响阅读,在这以截图形式展示目录与部分内容,整理收集不易有需要的朋友麻烦帮忙一键三连后,添加小助理获取这份笔记吧!