Log in

No account? Create an account
Perlbal - brad's life — LiveJournal [entries|archive|friends|userinfo]
Brad Fitzpatrick

[ website | bradfitz.com ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Perlbal [May. 7th, 2004|02:40 pm]
Brad Fitzpatrick
Perlbal now features:

-- epoll + async event-based design

-- reverse proxy, w/ everything you'd expect from one: X-Forwarded-For header, buffering replies and letting go of the backend connection as soon as possible,

-- reproxying files if backend doesn't want to (advertises this capability to the backend via a X-Proxy-Capabilities header). uses sendfile to send the file, after doing an async stat and async open (unless it was a HEAD request)

-- web server, w/ async stat/open, then sendfile on the contents. will soon replace our thttpd machines. also supports directory indexing, but off by default, since I can't do async directory reads.

-- management port. (all commands received on the management port are the same as the config file syntax)

Coming soon: mixed-mode reverse proxy and webserver, for serving some files directly off the filesystem (based on URLs), and proxying others to the backend (which may then request alternate files served off disk)

It's now serving the majority of our userpics, kicking our old server's ass, and web requests as well if you turn on the "newproxy" beta test cookie.

[User Picture]From: taral
2004-05-07 03:58 pm (UTC)
I find it scary that you're still using Perl.
(Reply) (Thread)
[User Picture]From: brad
2004-05-07 04:04 pm (UTC)
Why? It lets me write cool shit really quick.

And it's easy to extend with C where needed, or use fancy modules like Linux::AIO, IO::SendFile, and IO::Epoll.
(Reply) (Parent) (Thread)
[User Picture]From: taral
2004-05-07 04:14 pm (UTC)
I've just never considered perl as a production language.
(Reply) (Parent) (Thread)
[User Picture]From: dormando
2004-05-07 08:23 pm (UTC)
Work in a place which thinks PHP is a production language for a while. Perl starts looking awful nice.

Also, brad, this is good stuff. Very nice.
(Reply) (Parent) (Thread)
From: jzawodn
2004-05-07 10:21 pm (UTC)

You'd be surprised...

at what powers some of the world's most popular sites. There's Perl and PHP all over hte place.
(Reply) (Parent) (Thread)
[User Picture]From: taral
2004-05-08 01:30 am (UTC)
I've had a few friends use PHP in production systems. I understand that.
(Reply) (Parent) (Thread)
[User Picture]From: perlmonger
2004-05-08 02:57 am (UTC)
/me boggles gently

Tell Motorola that ;)
(Reply) (Parent) (Thread)
From: (Anonymous)
2004-05-10 04:31 am (UTC)


Do you plan on releasing perlbal for other people to use?

Right now I'm using Apache 2.0 + mod_rewrite + mod_proxy to do the same thing.

(Reply) (Thread)
[User Picture]From: brad
2004-05-10 10:16 am (UTC)

Re: Nice...

It's already in public CVS, but I haven't made a public release yet.
(Reply) (Parent) (Thread)