2013-03-04 24 views
0

我在EC2中的Elastic Load Balancer后面有一个自动调整的web/app层。我想为我的REST Web服务设置一个限制,以强制执行每秒交易限制。我想强制执行它基于被调用的服务和一些专有的http头信息传入请求。我正在考虑站起来骡服务器来遏制传入的请求,然后将它们转发给ELB或返回一个http 503,但我不知道这将是多么困难的构建和测试,或者如果它可以工作。我可以在弹性负载平衡器的EC2盈方中构建服务节流阀吗?

无论如何,我可以设置一些东西在我的ELB面前,以遏制传入的请求?有没有更好的方法在EC2中执行Web服务调节?

+0

不是一个曲线球,但你有没有考虑过像Apigee这样的服务? – 2013-03-04 20:25:40

+0

我很欣赏这个建议,但我不清楚如何切换到Apigee来解决EC2中的服务限制问题。你能澄清吗? – TERACytE 2013-03-04 20:52:33

+0

Throttling是Apigee应该提供的功能之一。我并不是建议使用交换机,只是将它们用作服务的前端代理。 – 2013-03-04 21:35:35

回答

1

您必须在EC2上配置节流,ELB不提供限制请求率的功能。

+0

是的,我了解ELB不提供此功能。我曾问过在其他地方(可能是EC2)设置油门,如果不符合油门配额,则会调用ELB。问题是我不知道您是否可以设置服务器以这种方式运行:返回REST服务调用的结果而不重新打包响应或返回503. – TERACytE 2013-03-04 20:50:07

+0

那么,CloudWatch允许处理ELB指标:http:// harish11g.blogspot.com/2012/02/cloudwatch-elastic-load-balancing.html。当请求速率超过您的ec2容量时,可能需要自动缩放? – 2013-03-04 21:13:33