这次咱们从根源聊:16招搞定高并发架构设计(15)

直接在服务器级别隔离,比如我们需要考虑为VIP建设单独的服务器集群,甚至是IDC网络接入在服务级别隔离,为重要的业务线单独分配并且路由到单独的虚拟机或POD,为大文件上传的服务进行服务拆分部署到具有更高IO和网络带宽的服务器上在进程内部进行资源隔离,比如在使用Java 8 ParallelStream的时候考虑采用单独的线程池来处理任务,比如在使用Netty处理较慢的业务操作的时候配置单独的业务线程池进行处理,和IO处理的线程池进行隔离3、限流

在做压力测试的时候我们会发现,随着压力的上升系统的吞吐慢慢变大而且这个时候响应时间可以基本保持可控(1秒内),当压力突破一个边界后,响应时间一下子会不可控,随之系统的吞吐就会下降,最后会彻底崩溃。

任何系统对于压力的负荷是有边界的,超过这个边界之后系统的SLA肯定无法满足标准,导致大家都无法好好用这个服务。

因为系统的扩展往往不是秒级可以做到的,所以这个时候最快的手段就是限流,只有限流了才能保护现在的系统不至于突破这个边界彻底崩溃。

对于业务量超大的系统搞活动,对关键服务甚至入口层面做限流是必然的,别无它法,淘宝双11凌晨0点那一刻也能看到一定比例的下单被限流了。

推荐阅读