exp:分散式限流(1)
阿新 • • 發佈:2018-12-16
本部分是採用分散式每個節點單獨控制限流的方式。
// RateLimiterAnno.java
import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Inherited public @interface RateLimiterAnno { // 限流器名稱,不同介面對應不同的名稱 String limiterName(); // 每個節點某方法的每秒限流數,比如分散式節點數是4,方法限流為10000,那麼每個節點該方法限流數是10000/4=2500 double limitCount() default 1000; }