使用Redis跟踪并发的出站HTTP请求

时间:2013-02-05 15:36:58

标签: redis

我对Redis有点新意,但我想知道它是否可用于跟踪我正在进行的并发HTTP连接数。

这是高级计划:

INCR requests
// request begins
HTTP.get(...)
// request ends
DECR.requests

然后,在任何时候,只需致电GET requests,查看当前有多少人正在打开。

这里的最终目标是限制我的http请求以保持低于某个任意数量,比如50个请求/秒。

这是正确的方法吗?有没有陷阱?

2 个答案:

答案 0 :(得分:0)

至于陷阱,我唯一能看到的是服务器停机或失去与Redis mid-request的连接可能永远不会调用DECR

由于您不知道哪个服务器执行了哪个请求,因此您永远不能将计数重置为正确的值,而不会使系统停止并重置为0.

答案 1 :(得分:0)

我不清楚在这种情况下使用redis会获得什么。在我看来,在服务器中仅使用全局变量会更合适。如果您的服务器出现故障,您的计数器也会出现故障,因此您无需处理复杂的事情来处理断开连接,不一致等问题......