通过负载均衡器访问Play实例

时间:2012-01-07 10:04:55

标签: playframework

我创造了一个游戏!申请工作正常。 例如:  我在提交时创建了一个登录页面,它将采用FrontPage模块的loginCheck方法验证并重定向到内页。

我在机器上运行了6个播放实例。

我在另一台机器上创建了Load Balancer Play应用程序。这将一次指向任何一个实例。我也想使用Load Balancer for DB请求和Web请求。

数据库请求 - 它只是更新数据库并在那里结束。

Web请求 - 它(LoadBalancer)必须将请求发送到它将具有响应的实例,我将通过LoadBalancer在网页中显示该响应。

对于Eg:   对于First Web请求,将呈现登录页面。所以我发送请求作为网络。 它将发送到实例并返回响应(登录页面)。我能够呈现。

我的问题是提交的登录页面表单将采用FrontPage模块的logincheck方法,该方法不在LoadBalancer Application中。我想通过LoadBalancer将页面发送回具有这些帖子值的实例,我该怎么做。

(Key -> Server = play )                 

         Request                                        Request                                                   Request    
-------------------------->     |      LB      |------------------------------------> |   Play LB        |----------------------------> | Play Instance

<------------------------       |                |<-------------------------------------------------------------------------------------------------|
         Response                                                                                                   Response


LB - Load Balancer

2 个答案:

答案 0 :(得分:2)

根据我们的意见......

请注意我正在将此写入答案,因为我无法将这些链接放入评论中,因为它不是您最初问题的答案!

然后,一个简单的问题:你是不是只想尝试编写一个Load Balancer,或者你确定你的应用程序需要一个吗?配置良好的计算机可能会占用数百万个请求而没有太多问题。

无论如何,现在关于你的问题..

这些是一些精确的链接(正如您所看到的,相当广泛,因为它实际上取决于您的部署环境,究竟需要负载均衡)

在堆栈溢出时,Load Balancing tag非常活跃;您可以将其与Java或更具体的主题相结合,例如:Load Balancing on Java

但我承认这是非常广泛的。

现在,我向你指出了他们/ category /中的一些顶级LB.这意味着,根据您的实际需求,您选择的解决方案(自制或现有产品)的类型将有所不同。

首先,负载平衡是架构的问题。例如。当您想要编写应用程序时,使用AWS或类似解决方案通常是一个好主意,但是当您的负载增长时能够启动其他实例。

但是,如果您的应用程序具有非常多的读取和少量写入,您可能需要专注于分发数据库并配置主从和您的应用程序以优化读取和写入。

Etc.etc。

答案 1 :(得分:0)

我们使用netty创建了一个LoadBalancer,它是一个开放的库。工作正常。