Rides雪崩和击穿问题

        在应用中遇到了rides雪崩和击穿的问题。这个 问题会导致同一时间大面积数据失效,直接打到数据库基本你数据库是承受不住的。而且对于redis来说,也会有所卡顿。

      问题一般出现在根据时间戳或某字段统一书信的情况中,大面积的刷新在数据上本身就是不合理的。

       应对雪崩最简单的办法是在统一刷新的节点加一个随机值。对数据分流,分流之后的数据量就redis就可以承受了。

       击穿和雪崩原理差不多,雪崩是面上的,而击穿是点上的。击穿是同一个接口的多次写入导致的,这会导致数据库压力过大,严重会击垮数据库。

   击穿还未遇到过,最简单的解决办法是在逻辑层增加严谨的判断,也可以让运维对单个IP每秒访问次数超出阈值的IP都拉黑。高级用法布隆过滤器(Bloom Filter)这个也能很好的防止缓存穿透的发生,他的原理也很简单就是利用高效的数据结构和算法快速判断出你这个Key是否在数据库中存在,不存在你return就好了,存在你就去查了DB刷新KV再return。

你可能感兴趣的:(优化,Redis,记录)