我在 Windows XP、草莓 perl 5.14.2 和 Mojolicious 版本 3.84 上开发了一个 Mojolicious 应用程序。为了获得高性能,我想创建这个应用程序的多个实例,并在不同的端口但在同一台计算机上进行侦听。为了实现这一点,我制作了我的程序的两个副本并使用了 Plack::Middleware::Proxy::Loadbalancer 脚本,如下所示:
use Plack::Builder;
use Plack::App::Proxy;
builder {
enable "Proxy::LoadBalancer", backends => ['http://l27.0.0.1:8080', 'http://127.0.0.1:8081'];
Plack::App::Proxy->new()->to_app;
};
我在 8080 和 8081 上启动实例,然后使用 plackup loadb.pl 命令启动负载均衡器。它在 localhost:5000 上听得很好。但奇怪的是,当您连接到端口 5000 时,只有 8081 出现,如果它切换到 8080,则会出现错误网关错误。我是部署方面的新手,所以在这里需要帮助。是什么导致 http 请求仅从 8081 返回?似乎是网络层错误或其他什么?尝试 apache 负载均衡器会是个好主意吗?