提供者端限流
从调用url中获取接口、方法名、version、serviceKey,根据上面几个参数进行拼接限流key。
限流方式
DefaultTPSLimiter本地维护一个ConcurrenMap,key为限流的key(接口、方法名、version、serviceKey),value为StatItem对象,
StatItem中定义了限流基础信息,rate、interval、lastResetTime、token(AtomicInteger),
内部对token原子对象进行增减已达到限流作用。
public boolean isAllowable() { long now = System.currentTimeMillis(); if (now > lastResetTime.get() + interval) { token.set(rate); lastResetTime.set(now); } return token.decrementAndGet() >= 0; }
标签:dubbo,set,lastResetTime,TpsLimitFilter,token,限流,key,now From: https://www.cnblogs.com/use-D/p/18174747