mod_proxy_cluster
2.0
An inteligent load-balancer for Apache httpd
|
Project mod_cluster is a httpd-based load-balancer. It uses a communication channel to forward requests from httpd to one of a set of application server nodes. Unlike mod_jk and mod_proxy, mod_cluster leverages an additional connection between the application server nodes and httpd to transmit server-side load-balance factors and lifecycle events back to httpd. This additional feedback channel allows mod_cluster to offer a level of intelligence and granularity not found in other load-balancing solutions.
Mod_cluster boasts the following advantages over other httpd-based load-balancers:
To build the native component from the sources you need a C compiler and the following tools:
The codebase follows certain code style that is specified in .clang-format
file within the native
directory. You can run the tool manually from the mentioned directory by executing clang-format -n <file>
. To apply all suggestions to a file automatically, run clang-format -i <file>
.
However, there are some cases where breaking the code style may result in better clarity. In those cases enclose the corresponding part of code like this
The style check will ignore everything between the two comments. (Please, don't abuse it.)
The project contains some tests too. You can find them with a separate README in the test
subdirectory.
For the debugging, you can specify the LogLevel
within you httpd.conf
file. In case you want detailed logs, set the level to DEBUG
. In case that would not be enough, mod_proxy_cluster
uses messages with level up to TRACE6
. Such a level of logging might result in huge and chaotic logs, so we advise you to set these level for the module only (see this document).
You can also get additional information in case you compile mod_proxy_cluster with HAVE_CLUSTER_EX_DEBUG
macro set. That will make more information visible within mod_manager. It will also add more information to the context search, but bear in mind that this may affect the performance.
The project source files contain doxygen-style comments. To build doxygen doumentation, execute doxygen
command. The output can be found in newly created doxygen-out/
directory.