背景
随着用户数越多,系统需要承受的冲击越来越大。举个例子,一般的电商应用都会搞双11这种活动,这个时候用户都会先收藏自己喜欢的商品,以便活动开始的时候,及时的抢购。当用户抢购的时候,系统必须应付瞬时大流量的冲击。处理这种情况,有很多种方案,像限流、增加服务器、多级缓存、应用跨机房部署等等。
如果你清楚自己系统在哪种业务场景下会遭受瞬时大流量冲击,那么可以针对这种业务场景,单独增加服务器来应付。
图A-平时情况下

图B-瞬时大流量下

集群A中的服务器提供一些功能,例如功能x,功能y,功能z,供前端应用使用。在平时情况下,集群A的流量虽然也不小,但是由于没有大流量瞬时冲击的情况,集群A是可以工作的很好的,但是当瞬时大流量到来时,集群A的CPU、内存、IO等负载都很大,那么原来集群A提供的功能x,y,z可能突然变得不可用了,这是非常危险的。所以单独为某个会造成瞬时大流量的业务场景提供独立集群,就可以避免这种情况。将瞬时流量都流到新的独立集群中。
一些技术问题
1、系统框架必须能支持根据某个微服务接口,进行路由。当前端应用调用某个特定接口时,将流量通通转到独立集群中。一般的微服务框架,只需要通过配置某些参数就可以做到这点。
2、独立集群中还需要做限流吗?一般就没做这个了,当把流量流入到新集群后,如果新集群挺不住了,那死就死了。
本文探讨了在电商等应用场景中如何有效处理瞬时大流量冲击的问题,提出了通过增加独立集群来分散压力的方法,并讨论了相关技术实现细节。
170万+

被折叠的 条评论
为什么被折叠?



