大型高并发与高可用缓存架构总结2

缓存热点致使系统不可用解决方案

对于瞬间大量的相同数据的请求涌入,可能致使该数据通过hash策略以后对应的应用层nginx被压垮,若是请求继续就会影响至其余的nginx,最终致使全部nginx出现异常整个系统变得不可用。

基于nginx+lua+storm的热点缓存的流量分发策略自动降级来解决上述问题的出现,能够设定访问次数大于后95%平均值n倍的数据为热点,在storm中直接发送http请求到流量分发的nginx上去,使其存入本地缓存,而后storm还会将热点对应的完整缓存数据没发送到全部的应用nginx服务器上去,并直接存放到本地缓存。对于流量分发nginx,访问对应的数据,若是发现是热点标识就当即作流量分发策略的降级,对同一个数据的访问从hash到一台应用层nginx降级成为分发至全部的应用层nginx。storm须要保存上一次识别出来的热点List,并同当前计算出来的热点list作对比,若是已经不是热点数据,则发送对应的http请求至流量分发nginx中来取消对应数据的热点标识 .nginx