meteor rest api使用铁路由器,限制rest api请求

meteor rest api使用铁路由器,限制rest api请求,api,meteor,iron-router,Api,Meteor,Iron Router,我使用meteor和iron路由器创建了服务或RESTAPI。 我发现一个用户几乎每分钟请求10.000次。 我认为我可以像instagram或facebook REST API那样限制每分钟的请求 这是我的RESTAPI代码,使用的是iron路由器 Router.route('/api/:col_name/getall', { where: 'server' }) .get(function () { var request = this.request.que

我使用meteor和iron路由器创建了服务或RESTAPI。 我发现一个用户几乎每分钟请求10.000次。 我认为我可以像instagram或facebook REST API那样限制每分钟的请求

这是我的RESTAPI代码,使用的是
iron路由器

Router.route('/api/:col_name/getall', {
    where: 'server'
})
    .get(function () {
        var request = this.request.query;
        var resultTokenCheck = Meteor.call("CheckToken", request.userid, request.token);
        if (resultTokenCheck.is_success) {
            if (request.data && request.by) {
                var result = Meteor.call('InsecureFindBy', this.params.col_name, request.data, request.by);
                this.response.end(JSON.stringify(result));
            }
            else{
                var result = Meteor.call('InsecureFind', this.params.col_name);

                this.response.end(JSON.stringify(result));
            }
        }
        else {
            this.response.end(JSON.stringify(resultTokenCheck));
        }
    })
    .post(function () {
        this.response.end(JSON.stringify({
            message: Helpers.Api.DenyPost,
            is_success: false
        }));
    });
但如何限制meteor api请求?例如,角色空闲的用户每分钟只能请求100个权限,高级用户可以请求10000个权限。
谢谢

我假设您在用户集合中设置了角色。为什么不在
.get
.post
函数中检查角色?好的,你可以检查一下状态,增加以前每分钟请求数量的一个计数值,然后相应地返回你的响应。我仍然没有这样做,因为我仍然不知道最佳做法,如果我为每个请求创建一个日志,那好吗?如何计算这一分钟发生了多少请求?我也不知道在API方法定义中添加db请求是否是个好主意。关于如何计数,我不想记录每个请求。首先看一下这个主题:我假设您在用户集合中设置了角色。为什么不在
.get
.post
函数中检查角色?好的,你可以检查一下状态,增加以前每分钟请求数量的一个计数值,然后相应地返回你的响应。我仍然没有这样做,因为我仍然不知道最佳做法,如果我为每个请求创建一个日志,那好吗?如何计算这一分钟发生了多少请求?我也不知道在API方法定义中添加db请求是否是个好主意。关于如何计数,我不想记录每个请求。首先看一下本主题: