1. 程式人生 > >exp:分散式限流(1)

exp:分散式限流(1)

本部分是採用分散式每個節點單獨控制限流的方式。

// 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;
}