Scott Thomason wrote:
> So, given that, here's the question again: why would you choose Apache::Registry
>over FastCGI? I want to be a believer...
First, I don't really recommend Registry, if you're serious about your
system you should use the direct handler interface and not just port a
bunch of crufty old CGI scripts.
Back in 96/97, I built an ecommerce engine using FastCGI & Perl. Today
my company runs its site on Apache/mod_perl. Both technologies address
some similar concerns and are designed to reduce execution overhead and
enable persistent application servers to communicate with and modify the
behavior of web servers.
FastCGI is a protocol for a web server to communicate with an
application server over network sockets. It also includes some primitive
process management facility, I believe.
mod_perl is an in-process integration of the Perl interpreter with the
Apache web server.
When I was using FastCGI, mod_perl was relatively immature. FastCGI
worked but also was suffering from the support abandonment of its
inventor Open Market. We had to debug several problems with the open
source FastCGI code in our environment and there was relatively little
support. But we got it to work, and it did work well in production.
When we set out to implement our second generation ecommerce engine, we
re-evaluated and choose to use mod_perl primarily because it had
accumulated a vastly larger user base, resulting in a more mature
environment and far superior support resources.
I still think this is mod_perl's chief advantage over FastCGI. I've
never worried over-much about porting old CGI scripts to either
environment so can't speak to either technology's efficacy for this use.
FastCGI pros:
Web-server independant
Language independant
mod_perl pros:
Larger user base, more real-world implementations
More extensive support infrastruction: the guide, this list, etc.
Extensive library of modular extensions which have been designed
and tested to be used in the mod_perl environment
Greater web server integration -- 14 handler hooks for mod_perl:
PerlChildInitHandler
PerlPostReadRequestHandler
PerlInitHandler
PerlTransHandler
PerlHeaderParserHandler
PerlAccessHandler
PerlAuthenHandler
PerlAuthzHandler
PerlTypeHandler
PerlFixupHandler
PerlHandler
PerlLogHandler
PerlCleanupHandler
PerlChildExitHandler
vs 3 server hooks for FastCGI:
Responder
Authorizer
Filter
Which one to use should depend on what your needs and experience are.
Properly tuned implementations of either will have very similar
performance and resource utilization characteristics.
--
Devin Ben-Hur | President / CTO | mailto:[EMAIL PROTECTED]
The eMarket Group | eMerchandise.com | http://www.eMerchandise.com
503/944-5044 x228 |
"Forrester Research projects that by 2003, Internet start-ups will have
focused so relentlessly on infrastructure that there will be no
remaining actual content on the Web. " -- Salon.com 14-Apr-2000