Perlbal
Encyclopedia
Perlbal is a Perl
-based reverse proxy
load balancer and web server
. Perlbal is maintained by a group connected to Danga Interactive
. The program is in common use by large web sites to distribute the load over a number of servers.
Like Perl, Perlbal is distributed under both the GNU General Public License
and the Artistic License
and is thus free software
.
Perlbal also features a so-called "re-proxy" mechanism. This allows a backend webapp to send back a small response to Perlbal which acts as an "internal redirect" and causes it to get the response data from elsewhere. This is often used so that expensive application server processes can defer to much simpler, faster HTTP servers to serve static files, freeing up the application server for other computing work. This is most commonly used in conjunction with MogileFS.
Additionally, plugins can be written to support various operations that may traditionally have been performed at the application layer. As an example, a filter plugin has been developed that can dynamically alter the palette of a PNG or GIF image as it passes through the proxy, allowing the image to be tinted. This is used on LiveJournal
to provide predefined page templates whose colors, including those "baked" into images, can be customized by the user. Doing this relatively simple filtering task at the load balancer layer avoids the overhead of passing this request back to the full application servers.
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
-based reverse proxy
Reverse proxy
In computer networks, a reverse proxy is a type of proxy server that retrieves resources on behalf of a client from one or more servers. These resources are then returned to the client as though it originated from the reverse proxy itself...
load balancer and web server
Web server
Web server can refer to either the hardware or the software that helps to deliver content that can be accessed through the Internet....
. Perlbal is maintained by a group connected to Danga Interactive
Danga Interactive
Danga Interactive is a software and Internet company most widely known for its LiveJournal service. The company's slogan is "We make cool stuff." The company was founded under the name Bradfitz, Inc., on August 27, 1999, by Brad Fitzpatrick, who also created LiveJournal...
. The program is in common use by large web sites to distribute the load over a number of servers.
Like Perl, Perlbal is distributed under both the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
and the Artistic License
Artistic License
The Artistic License refers most commonly to the original Artistic License , a software license used for certain free and open source software packages, most notably the standard Perl implementation and most CPAN modules, which are dual-licensed under the Artistic License and the GNU General Public...
and is thus free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
.
Perlbal also features a so-called "re-proxy" mechanism. This allows a backend webapp to send back a small response to Perlbal which acts as an "internal redirect" and causes it to get the response data from elsewhere. This is often used so that expensive application server processes can defer to much simpler, faster HTTP servers to serve static files, freeing up the application server for other computing work. This is most commonly used in conjunction with MogileFS.
Additionally, plugins can be written to support various operations that may traditionally have been performed at the application layer. As an example, a filter plugin has been developed that can dynamically alter the palette of a PNG or GIF image as it passes through the proxy, allowing the image to be tinted. This is used on LiveJournal
LiveJournal
LiveJournal is a virtual community where Internet users can keep a blog, journal or diary. LiveJournal is also the name of the free and open source server software that was designed to run the LiveJournal virtual community....
to provide predefined page templates whose colors, including those "baked" into images, can be customized by the user. Doing this relatively simple filtering task at the load balancer layer avoids the overhead of passing this request back to the full application servers.
External links
- Perlbal's homepage
- http://code.google.com/p/perlbal/