Perlbal

Last updated
Perlbal
Developer(s) Danga Interactive
Stable release
1.80 / February 27, 2012;10 years ago (2012-02-27) [1]
Repository
Written in Perl
Type Reverse proxy
License GNU General Public License / Artistic License
Website www.danga.com/perlbal/

Perlbal is a Perl-based reverse proxy load balancer and web server. [2] 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. [3]

Like Perl, Perlbal is distributed under both the GNU General Public License and the Artistic License and is thus free software. [4]

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.

Related Research Articles

<span class="mw-page-title-main">Apache HTTP Server</span> Open-source web server software

The Apache HTTP Server is a free and open-source cross-platform web server software, released under the terms of Apache License 2.0. Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation.

<span class="mw-page-title-main">Proxy server</span> Computer server that makes and receives requests on behalf of a user

In computer networking, a proxy server is a server application that acts as an intermediary between a client requesting a resource and the server providing that resource.

<span class="mw-page-title-main">OpenLDAP</span>

OpenLDAP is a free, open-source implementation of the Lightweight Directory Access Protocol (LDAP) developed by the OpenLDAP Project. It is released under its own BSD-style license called the OpenLDAP Public License.

<span class="mw-page-title-main">Apache SpamAssassin</span> Open-source e-mail spam filter

Apache SpamAssassin is a computer program used for e-mail spam filtering. It uses a variety of spam-detection techniques, including DNS and fuzzy checksum techniques, Bayesian filtering, external programs, blacklists and online databases. It is released under the Apache License 2.0 and is a part of the Apache Foundation since 2004.

<span class="mw-page-title-main">Application firewall</span> Layer 7/application layer network security system

An application firewall is a form of firewall that controls input/output or system calls of an application or service. It operates by monitoring and blocking communications based on a configured policy, generally with predefined rule sets to choose from. The application firewall can control communications up to the application layer of the OSI model, which is the highest operating layer, and where it gets its name. The two primary categories of application firewalls are network-based and host-based.

<span class="mw-page-title-main">NASA WorldWind</span> Open-source virtual globe

NASA WorldWind is an open-source virtual globe. According to the website, "WorldWind is an open source virtual globe API. WorldWind allows developers to quickly and easily create interactive visualizations of 3D globe, map and geographical information. Organizations around the world use WorldWind to monitor weather patterns, visualize cities and terrain, track vehicle movement, analyze geospatial data and educate humanity about the Earth." It was first developed by NASA in 2003 for use on personal computers and then further developed in concert with the open source community since 2004. As of 2017, a web-based version of WorldWind is available online. An Android version is also available.

lighttpd

lighttpd is an open-source web server optimized for speed-critical environments while remaining standards-compliant, secure and flexible. It was originally written by Jan Kneschke as a proof-of-concept of the c10k problem – how to handle 10,000 connections in parallel on one server, but has gained worldwide popularity. Its name is a portmanteau of "light" and "httpd".

<span class="mw-page-title-main">Reverse proxy</span> Type of proxy server

In computer networks, a reverse proxy is the application that sits in front of back-end applications and forwards client requests to those applications. Reverse proxies help increase scalability, performance, resilience and security. The resources returned to the client appear as if they originated from the web server itself.

<span class="mw-page-title-main">Twisted (software)</span> Event-driven network programming framework

Twisted is an event-driven network programming framework written in Python and licensed under the MIT License.

<span class="mw-page-title-main">LAMP (software bundle)</span> Acronym for a common web hosting solution

LAMP is an acronym denoting one of the most common software stacks for many of the web's most popular applications. However, LAMP now refers to a generic software stack model and its components are largely interchangeable.

<span class="mw-page-title-main">Catalyst (software)</span>

Catalyst is an open source web application framework written in Perl, that closely follows the model–view–controller (MVC) architecture, and supports a number of experimental web patterns. It is written using Moose, a modern object system for Perl. Its design is heavily inspired by frameworks such as Ruby on Rails, Maypole, and Spring.

<span class="mw-page-title-main">Aptana</span> Text editor

Aptana, Inc. is a company that makes web application development tools for use with a variety of programming languages. Aptana's main products include Aptana Studio, Aptana Cloud and Aptana Jaxer.

Pound is a lightweight open source reverse proxy program and application firewall suitable to be used as a web server load balancing solution. Developed by an IT security company, it has a strong emphasis on security. The original intent on developing Pound was to allow distributing the load among several Zope servers running on top of ZEO. However, Pound is not limited to Zope-based installations. Using regular expression matching on the requested URLs, Pound can pass different kinds of requests to different backend server groups. A few more of its most important features:

Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Igor Sysoev and publicly released in 2004. Nginx is free and open-source software, released under the terms of the 2-clause BSD license. A large fraction of web servers use Nginx, often as a load balancer.

Web2py is an open-source web application framework written in the Python programming language. Web2py allows web developers to program dynamic web content using Python. Web2py is designed to help reduce tedious web development tasks, such as developing web forms from scratch, although a web developer may build a form from scratch if required.

<span class="mw-page-title-main">Shinken (software)</span>

Shinken is an open source computer system and network monitoring software application compatible with Nagios. It watches hosts and services, gathers performance data and alerts users when error conditions occur and again when the conditions clear.

The following outline is provided as an overview of and topical guide to the Perl programming language:

<span class="mw-page-title-main">Caddy (web server)</span> Open source web server

The Caddy web server is an extensible, cross-platform, open-source web server written in Go.

References

  1. https://metacpan.org/release/Perlbal
  2. Garcia, Jeremy (2007-02-05). "Splice Traffic with Perlbal". Linux Magazine. Archived from the original on February 13, 2007. Retrieved 24 February 2011.{{cite web}}: CS1 maint: unfit URL (link)
  3. Henderson, Cal (2006). Building scalable web sites . O'Reilly Media Inc. pp.  217. ISBN   0-596-10235-6.
  4. "A source code file showing the licence". Archived from the original on 2012-08-17. You can use and redistribute Perlbal under the same terms as Perl itself.