[Catalyst] Why Catalyst instead of Ruby on Rails?

Benjamin Trott ben at sixapart.com
Sat Nov 12 07:27:31 CET 2005


Well, of course, you don't have to pay for the hundreds of Apache/mod_perl
servers unless you need them--that is, unless you actually *are* one of the
so-called "big guys." :)

But your point--or, at least, as I read it--is absolutely right. An
application framework like Catalyst or Rails, in and of itself, is neither
scalable nor not scalable. It depends entirely on the infrastructure you
build around it.

If you haven't seen them before, Brad's slides about LiveJournal's
infrastructure (<http://www.danga.com/words/2005_oscon/oscon-2005.pdf> is, I
think, the latest version) are really informative. And the biggest takeaway
is that the mod_perl part is really the easiest part: it's what you build
around it--MogileFS, Perlbal, memcached, and the overall architecture--that
matters w/r/t scaling.

For most sites, a combination of the following provides a really nice base:

* Perlbal--in reverse-proxy/static webserver mode, potentially using service
selectors for switching between the two;

* Catalyst--as the application server, performing all app functionality,
content generation, etc;

* memcached, or an actual caching proxy server like Squid--for caching
content, either generated, or in between app and database or both.

I've heard a lot of mixed reactions re: ESI, and don't have any direct
experience with it. But all of the above are very solid, and are what we're
building apps upon.

Ben


On 11/11/05 10:09 PM, "Jake" <staunch at gmail.com> wrote:

> I was wondering -- just how do you scale Catalyst to serve truly large
> sites?

Hundreds of $3k+ Apache/mod_perl servers?

I think that's what those
> big guys do -- it does work. But who wants
to pay for all that? Even if you
> can afford it.

Apache may be the best but it isn't the fastest -- even in
> recently version.

Has anyone considered building a really fast HTTP server
> into
Catalyst? I don't think Rails has that, does it?

Here's what I'm
> thinking: Catalyst + Perlbal (epoll based) + ESI
(dynamic content
> caching)

Perlbal: http://www.danga.com/perlbal/
ESI:
> http://www.esi.org/overview.html

Perlbal doesn't even have ESI or any caching
> support, and I'm not sure
how Catalyst would be interconnected with Perlbal in
> a fast way.

But -- Perlbal is really fast, pluggable, and almost all
> Perl.
ESI-based caching (or any dynamic content caching mechanism) would
> be
allow you to create dynamic sites that are intelligently cached (or
not).
> Making it possible for semi-dynamic content to be served at or
near the speed
> of static content.

To me that seems like a killer feature -- now somebody
> (*ahem*) just
needs to implement it.

> _______________________________________________
> Catalyst mailing list
> Catalyst at lists.rawmode.org
> http://lists.rawmode.org/mailman/listinfo/catalyst




More information about the Catalyst mailing list