Java-java中如何限制时间段内某方法的调用次数?

发布于 2016-10-29 06:42:53 字数 155 浏览 1611 评论 1

项目中甲方领导担心对某系统某个接口的调用次数过多,导致系统宕掉,希望在本项目中约束某个时间段内调用接口的次数,比如每分钟不能超过100次。请问各位大牛有什么思路?

补充:接口是使用HTTP方式,向某个其他应用提供的地址POST数据,在自己的应用中进行限制,比如每分钟100次以内。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

偏爱自由 2016-11-20 16:04:50

使用Proxy模式
例如需要限制方法:

public void play();

通用限制调用/分钟类:

abstract class LimitInvokingInMinute{
public LimitInvokingInMinute(int limit){
this.limit=limit;
}
int limit;
void execute(){
//TODO:限制访问次数/每分钟逻辑

invoking();
}
abstract void invoking();
}

针对方法是用:

 LimitInvokingInMinute limitInvoking=new LimitInvokingInMinute(){
public void invoking(){
play();//调用被限制方法
}

}

使用的话仅需要:

 limitInvoking.execute();

即可

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文