限流 面试
如果使用sentinel进行限流:我们可以通过QPS或者并发线程数,一般在项目中我们推荐使用QPS来进行限流。
如果使用sentinel进行熔断:我们可以根据慢调用比例、异常比例、异常数来进行熔断。
网关我们可以采用信号量隔离,业务层我们可以使用线程池隔离的策略。
说一下令牌桶算法(面试有被问到)
核心思想:
存在一个固定大小的桶来存放token。
约定用户必须拿到token才能进行后续处理。
每隔一段时间就往桶里放k个新的 token。
如果桶里没有token就拒绝服务。
当然如果对于没有来得及处理的任务,我们也可以先将其放入到队列当中。