多个与单个Catalyst应用程序

时间:2011-03-25 05:58:30

标签: perl catalyst

我有多个Catalyst应用程序作为FCGI运行。

将它们合并为一个有多个控制器的单一产品是否有好处?

谢谢,

西蒙

1 个答案:

答案 0 :(得分:2)

RAM,可能吗?我认为每个服务器最小的容量大约为15MB,因此如果您运行3个带有3台服务器的应用程序,您可能可以节省100MB。但这完全是餐巾纸的猜测。

可能实现大部分相同节省的另一种选择是转向Plack部署。例如,相同的三个应用程序,没有合并,部署在同一台服务器上(这是未经测试但似乎正确) -

# file: mutli-app.psgi
use Plack::Builder;

use YourApp;
use OurApp;
use MyApp;

MyApp->setup_engine('PSGI');
my $mine = sub { MyApp->run(@_) };

YourApp->setup_engine('PSGI');
my $your = sub { YourApp->run(@_) };

OurApp->setup_engine('PSGI');
my $our = sub { OurApp->run(@_) };

builder {
    mount "/mine" => builder {
        enable "Plack::Middleware::Foo";
        $mine;
    };
    mount "/secondperson" => $your;
    mount "/shared" => $our;

};

然后用 -

运行它
plackup multi-app.psgi