2011-03-25 89 views
2

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

将它们合并成一个包含多个处理程序的单一版本有什么好处吗?

感谢,

西蒙娜

+0

如果应用程序只有一个控制器你应该考虑使用更轻量级的东西。我喜欢分散不属于一起的投篮,所以我建议保持这种状态。无论如何,你有什么好处?性能,可用性,可维护性? – 2011-03-25 08:29:59

+0

可维护性是我最关心的问题。应用程序都做了完全不同的事情,并且更容易将它们分开 – simone 2011-03-26 20:40:56

回答

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