互联网应用经常会遇到要处理高峰问题,这也是我所负责业务经常要面对的事情,比如遇到一个热点事件、或者策划一个活动(比如说秒杀),访问的骤增带来读写的流量的骤增,每个环节都面对瞬间请求骤增的问题,那么有哪些方法可以做到流量削峰或者说流量削峰要从哪几个方面考虑呢,说下我的浅见:
1、基于SOA的架构设计,弹性扩展瓶颈模块服务器资源;
2、接入层以及各服务模块极大的用好cache,增加QPS,从而加大整个集群的吞吐量;
3、模块间使用消息队列通信,进行模块异步解耦,访问量上来后,使用时间成本换取业务能够正常服务;
4、各服务模块对自身负责的同时,要做好后端依赖有效调用的判断,做到向上游模块所做的调用都是必要的调用,无冗余或无效的调用;
5、划分好动静资源,静态资源使用CDN进行服务分发。
在资源有限的情况下,做好各模块的降级预案,再从这5个方面多做努力,高峰期服务集群的流量会做到及好提升的。
时间: 2024-10-16 07:32:42