学会这两点,提升系统鲁棒性
崩。例如库存系统,每秒本来可以处理1万个请求,突然来了10万个请求,他们只能够排队处理,可能只处理了5万个,后面的就超时了。超时了,用户的页面就有可能转菊花,用户很难受,就有可能不停的刷新,又涌进来更多的请求。本来用户系统可能可以处理10万个请求,因为用户不停的刷新,也崩溃了。而用户系统可不只影响了秒杀,一些使用其他功能的用户也被迫重试,最后,整个系统都趋于崩溃。 为了避免服务雪崩,我们需要做点什么,通常我们会使用限流或者熔断机制。限流,顾名思义,就是限制流量的大小。这个在日常生活中,我们也并不陌生。例如北上广深的地铁站,高峰时期就经常限流。本来10分钟只能搭乘500名乘客,这个时候我们让2000名乘客到站台等也是毫无意义,徒增风险,限流系统就是这种理念。预估好每个系统的容量,例如库存系统,一秒钟只能处理1万个请求,那么我们就让只有1万个请求能够请求到库存系统。其他的请求直接拒绝,告诉他们,库存已经售光了,下次再来。这就可以很好地保护到我们的系统。
另一种常见的手段,便是熔断。熔断就跟我们的保险丝一样,一旦电流达到某个值,就会烧断保险丝,从而保护到用电安全。熔断在分布式系统中其实也比较常见,一般有着下面三种状态。全开,表示服务运行正常,关闭,表示触发熔断,无法正常调用,半开,部分请求会被拦截。 (编辑:信阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |