【问题标题】:Multiple vs. single Catalyst applications多个与单个 Catalyst 应用程序
【发布时间】:2011-07-22 16:36:13
【问题描述】:

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

将它们整合到一个具有多个控制器的单个控制器中是否有好处?

谢谢,

西蒙娜

【问题讨论】:

  • 如果应用程序只有一个控制器,您应该考虑使用更轻量级的控制器。我喜欢把不属于一起的东西分开,所以我建议保持这种方式。你到底在寻找什么好处?性能、可用​​性、可维护性?
  • 可维护性是我主要关心的问题。这些应用程序都做着完全不同的事情,并且更容易将它们分开

标签: perl catalyst


【解决方案1】:

内存,大概?我认为每台服务器的最低容量约为 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

【讨论】:

    猜你喜欢
    • 2012-04-10
    • 1970-01-01
    • 2015-10-29
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 1970-01-01
    • 2016-09-05
    相关资源
    最近更新 更多