随笔分类 - Thread-限流
摘要:一、漏桶算法 漏桶算法,又称leaky bucket。为了理解漏桶算法,我们看一下对于该算法的示意图: 从图中我们可以看到,整个算法其实十分简单。首先,我们有一个固定容量的桶,有水流进来,也有水流出去。对于流进来的水来说,我们无法预计一共有多少水会流进来,也无法预计水流的速度。但是对于流出去的水来说
阅读全文
摘要:一、Warm Up缘起 1.1 现象 (1)DB重启后,瞬间死亡 一个高并发环境下的DB,进程死亡后进行重启。由于业务处在高峰期间,上游的负载均衡策略发生了重分配。刚刚启动的DB瞬间接受了1/3的流量,然后load疯狂飙升,直至再无响应。 原因就是:新启动的DB,各种Cache并没有准备完毕,系统状
阅读全文
摘要:一、回顾:计算器算法存在问题 对于秒级以上的时间周期来说,会存在一个非常严重的问题,那就是临界问题。 从上图中我们可以看到,假设有一个恶意用户,他在0:59时,瞬间发送了100个请求,并且1:00又瞬间发送了100个请求,那么其实这个用户在 1秒里面,瞬间发送了200个请求。我们刚才规定的是1分钟最
阅读全文
摘要:在开发高并发系统时,如何保护系统? 三种方案:缓存,降级,限流 (1)缓存:缓存简单理解就是把从数据库查询出来的数据,存放到缓存系统上,比如Memcached或者redis,然后下次再来获取的时候,直接从缓存中进行获取。缓存的目的是提升系统访问速度和增大系统处理容量。 (2)降级:降级是当服务出现问
阅读全文