我们在许多应用程序服务器上安装了3个Ruby on Rails应用程序(A,B和C)。 我们的前端是HAProxy,后端是Apache + Phusion Passenger。 最初我们在每个应用程序服务器上都安装了3个Rails应用程序,但是这种设置很慢,因为HAProxy“不知道”给定的Rails应用程序在给定的支持服务器上是否“热”。

每个乘客实例都configuration为运行多达8个Rails应用程序实例。
考虑以下情况(简化):
在每分钟请求的TON大的情况下,所有3个Rails应用程序在每个应用程序服务器上经常启动和停止, 这是很慢的 。
在完美的世界应用程序启动一次,处理大量的请求,而不必closures和重新启动。 这就是为什么我们必须在3个Rails应用程序之间划分应用程序服务器:
问题是:是否有一个负载均衡器软件“知道”后端,知道并使用以下信息来平衡负载:
我们的想法是安装所有应用程序的“同类”(相同)应用程序服务器的数量,以便我们可以添加新的服务器来增加所有应用程序的总体容量,但给定应用程序的容量取决于“非常聪明“的负载平衡器,可以控制每个应用程序的容量,而不必经常启动和停止应用程序。
我不知道一个。
我正面临类似的问题。 目前最好的解决scheme似乎是构build一个pipe理层,能够跟踪应用程序服务器上的负载,并且可以根据正在跟踪的内容来调整负载平衡器的configuration。 这将是一个完全定制的解决scheme,但我们还没有开始写它。