代码之家  ›  专栏  ›  技术社区  ›  Jason

是否有一种方法可以在Rails上主动监视HTTP请求,并在请求超时时将其定向到另一个Mongrel?

  •  0
  • Jason  · 技术社区  · 14 年前

    我正在与一个客户机合作,该客户机的服务器管理员拒绝在其Web服务器上安装monit或god以重新启动锁定的或慢速的mongrels/threads,因为他们认为应用程序应该能够完美地工作,线程不应该锁定/变慢。

    不幸的是,他们的应用程序对第三方Web服务进行了大量调用,其中许多调用速度很慢,而且他们的数据库严重未优化(我无法访问或强制更改),因此存在大量导致超时的缓慢AR查询。

    是否可以主动监视HTTP请求?如果一个请求被传递到一个慢速/锁定的混合对象,然后将其重新定向到一个活动的请求?

    我知道这可能会导致响应缓慢,但比连接超时错误慢得多。

    谢谢!

    1 回复  |  直到 14 年前
        1
  •  0
  •   Andrew Atkinson    14 年前

    您可以安装haproxy或使用nginx作为循环负载均衡器,但实际上我建议您跳过这些并安装 Passenger gem 对于Apache或nginx,实际上的Rails堆栈暂时可用。您还可以在开发中运行passenger(Google for Articles)。我建议您坚持让系统管理员认为乘客是应用程序堆栈的一部分。