2011-03-25 81 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