Changes for version 1.36
- fix bug in ClientProxy when user disconnects after POST/PUTing a content body, but before a response comes back.
- now checks correctly for Danga::Socket version 1.44 or above. (required version was in quotes, confusing perl.)
- vhost plugin: strip off port specification from the Host header before trying to match with configured patterns.
- 1.35: (beta of 1.40) 2005-08-16
- beta SSL support in a few lines of code. maybe it's completely done. maybe it's barely done. But it seems to work? I'm no SSL master... IO::Socket::SSL just made it so easy.
- lots more tests
- lots more cleanup
- fix potential crashing bugs in the PUT path. luckily ones we never hit.
- lots and lots of code cleanup
- load plugins by either the exact case specified, all lowercase, or all lowercase with first letter uppercase. then remember the case for unloading (which was never implemented?)
- reorganize/cleanup code related to stalling the backend due to client's buffer size exceeding one of the two limits. introduce "backend_stalled"
- buffer uploads to disk
- 1.3: (2005-06-26)
- introduce CommandContext, so management commands can be less verbose when in config files (service/pool names can be left off when you just created them a couple lines before)
- remove sendstats support
- exit with 0 vs non-zero when/if Perlbal crashes. new command "crash" to fake a crash, for testing.
- entirely redone management command parsing/dispatching (major code cleanup)
- virtual host plugin on service selector framework
- service selector framework
- make Net::Netmask optional
- byte range support for both webserver mode and reproxy-file mode Giao Phan <giao@guba.com>. so clients can resume large transfers.
- test suite
- IO::AIO support (brad)
- change response code to client to 200 on reproxy-file from backend
- 'nodes' command now takes as an optional argument a specific ip:port to dump the node stats for
- AIO abstraction layer (Perlbal::AIO) which can currently do either Linux::AIO or "none" (doing everything sync). also in future File::FDpasser and other OS-specific modes [brad]
- add buffer_backend_connect to do in memory buffering of data before we request a backend; assists slow clients without tying up a mod_perl
- fix spinning issue when webnodes unavailable; should now not consume 100% CPU in those cases
- revamp verbose functionality; by default it's still of, but if you specify VERBOSE ON in the config file, it turns it on for management connections by default. management connections, when specifying VERBOSE ON/OFF, will now set the flag only for that connection.
- new command for config file; VERBOSE ON/OFF; can be used to enable or disable confirmation of all commands such as SET, SERVER, CREATE, etc. by default, it's off for config files, but on for management connections.
- add generation count to services that increments every time a pool is switched. this data is now stored on backends when they're spawned as well, and when we allocate a backend we verify the generation so old ones are thrown away.
- allow setting of nodefile on pools to 'none' or 'null' or 'undef' or just an empty set of quotes ("", '') in order to stop using node files
- automatically set use count to 0 on new nodes coming in from nodefile
- made auto-vivification of pulls throw warnings, and made Perlbal die if it tries to vivify a pool and the user has previously manually declared a pool
- updated pool commands to be more flexible (POOL pool ADD node, etc)
- add pools; a way of having different sets of nodes and instantly switching between them, so traffic stops going to old nodes; see the example config file for usage
- work partially without Linux::AIO (does sync stat of node file in reverse proxy mode, and webserver mode doesn't work) --brad
Documentation
Reverse-proxy load balancer and webserver
Modules
Reverse-proxy load balancer and webserver
Provides
in lib/Perlbal/Plugin/Palimg.pm
in lib/Perlbal/Plugin/Palimg.pm
in lib/Perlbal/AIO.pm
in lib/Perlbal/BackendHTTP.pm
in lib/Perlbal/ClientHTTP.pm
in lib/Perlbal/ClientHTTPBase.pm
in lib/Perlbal/ClientManage.pm
in lib/Perlbal/ClientProxy.pm
in lib/Perlbal/CommandContext.pm
in lib/Perlbal/HTTPHeaders.pm
in lib/Perlbal/ManageCommand.pm
in lib/Perlbal/Plugin/Highpri.pm
in lib/Perlbal/Plugin/Palimg.pm
in lib/Perlbal/Plugin/Queues.pm
in lib/Perlbal/Plugin/Stats.pm
in lib/Perlbal/Plugin/Stats.pm
in lib/Perlbal/Plugin/Vhosts.pm
in lib/Perlbal/Pool.pm
in lib/Perlbal/ReproxyManager.pm
in lib/Perlbal/Service.pm
in lib/Perlbal/Socket.pm
in lib/Perlbal/TCPListener.pm
in lib/Perlbal/Test.pm
in lib/Perlbal/Test/WebClient.pm
in lib/Perlbal/Test/WebServer.pm
in lib/Perlbal/Util.pm