我们在应对高并发大流量时也会采用类似“抵御洪水”的方案,归纳起来共有三种方法:
1)Scale-out(横向扩展):分而治之是一种常见的高并发系统设计方法,采用分布式部署的方式把流量分流开,让每个服务器都承担一部分并发和流量。通过将多个低性能的机器组成一个分布式集群来共同抵御高并发流量的冲击。
2)缓存:使用缓存来提高系统的性能,就好比用“拓宽河道”的方式抵抗高并发大流量的冲击。使用缓存的主要作用是提升系统的访问性能,在高并发的场景下就可以支撑更多用户的同时访问。
3)异步:在某些场景下,未处理完成之前我们可以让请求先返回,在数据准备好之后再通知请求方,这样可以在单位时间内处理更多的请求。调用方不需要等待方法逻辑执行完成就可以返回执行其他的逻辑,在被调用方法执行完毕后再通过回调、事件通知等方式将结果反馈给调用方。
此文章为5月Day5学习笔记,内容来源于极客时间《高并发系统设计 40 问》