APIpipe理解决scheme

我目前正在build立一个API,并正在寻找一个工具来允许我监视(在一个GUI)和速率限制使用。 我遇到了一些企业解决scheme,包括:

  • http://apigee.com/
  • http://mashery.com/
  • http://www.layer7tech.com/
  • http://www.3scale.net/

Apigee企业计划正是我正在寻找,但计划开始在$ 3000 /月,这是超出我的价格范围。 其他解决scheme都是太昂贵或不提供我正在寻找的解决scheme。

这使我看到了一些开源选项,包括:

  • http://apiaxle.com/
  • https://code.google.com/p/varnish-apikey/wiki/UsageManual

清漆似乎是一个相当完整的解决scheme; 不过,我需要构build一个GUI来显示数据。

我最后的select将从头开始使用EventMachine和rubybuild立一个解决scheme。

任何build议?

我认为你高估了这是多么的困难。

在你的代码中,只需要一个带有redis / memcached / mongodb的计数器(根据你的需要select1/24小时计数器或每小时/每天计数器),并在满足限制时返回相应的错误。 您可以在那里增加计数,或者在处理日志时asynchronous执行。

为了显示数据,只需根据需要制作一个简单的网页来总结计数。

对于我们的使用,我们不需要精确地限制事物,所以我们通常只是login我们的日志基础设施,其中一个(实时通过抄写)日志处理器将总结这种事情。 输出结果是一个简单的HTML页面,其中包含繁忙的IP /客户端,Nagios可以监控的一些页面以及一些url,这些URL可以从数据中提取图表。

你可以使用nginx和nginx。 只需使用您需要的限制规则覆盖您的/ requestDenied位置:

将naxsiredirect参数映射到相应的限制:

map $arg_uri $limit_uri { 123.php limit_zone1; 234.php limit_zone2; default limit_default; } 

在地点使用限制:

  location /RequestDenied { proxy_pass http://127.0.0.1:4242; limit_req $limit_uri; }