- Notifications
You must be signed in to change notification settings - Fork82
mod_cluster is an intelligent native Apache httpd-based and pure-Java Undertow-based load-balancer
License
modcluster/mod_cluster
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Project mod_cluster is an intelligent load balancer. It uses a communication channel to forward requests from a reverseproxy server to one of a set of application server nodes. Unlike mod_jk and mod_proxy, mod_cluster leverages anadditional connection between the application server nodes and the reverse proxy to transmit server-side load balancefactors and lifecycle events back to the proxy. This additional feedback channel allows mod_cluster to offer a level ofintelligence and granularity not found in other load balancing solutions. There are currently two reverse proxyimplementations: a nativeApache HTTP Server implementation and a pure JavaUndertow-based implementation.
Project mod_cluster boasts the following advantages over other httpd-based load balancers:
- Dynamic configuration of httpd workers
- Server-side load balance factor calculation
- Fine-grained web-app lifecycle control
- AJP is optional
These versions already ship with bundled mod_cluster. It is configured via mod_cluster subsystem.
Distribution archives are provided for each Tomcat version.
Get the distribution archive corresponding to the intended Tomcat version by either downloading from the projectwebsite or if building from source located in
dist/target/directory.Download and unzip or untar the distribution archive and navigate to the extracted directory.
Copy the
lib/directory to the Tomcat installation directory adding jars to itslib/directory. If upgrading froma different version, it is necessary to remove all jars copied previously.Modify
server.xmlwithin theconfdirectory and add the mod_cluster listener as documentedhere. The minimal listener configuration is as follows:<ListenerclassName="org.jboss.modcluster.container.tomcat.ModClusterListener"connectorPort="8080"advertiseInterfaceName="lo0"/>
The Project is split up into multiple modules:
core (contains the implementation of container-independent core mod_cluster concepts)container spi (SPI classes for container integrations, has no dependencies on a specific web container) tomcat-9.0 (Tomcat 9.0 container implementation) tomcat-10.1 (Tomcat 10.1 container implementation) tomcat-11.0 (Tomcat 11.0 container implementation)load-spi (SPI classes for load metric computation)Source code for the mod_cluster project is located on GitHub:
https://github.com/modcluster/mod_cluster
When building from source, first ensure that Maven version 3.2.5 or newer (runmvn -version) and JDK 17 or newer(runjava -version) are installed. The following command builds modules for all containers:
mvn clean installDistribution files for Tomcat will be built in thedist/target/ directory.
This project currently supports JaCoCo to generate a code coverage report bound toverify goal:
mvn clean verify -P coverageThe resulting report can be viewed by openingcode-coverage/target/site/jacoco-aggregate/index.html.
Project mod_cluster uses Red Hat Jira issue tracker under MODCLUSTER project:
About
mod_cluster is an intelligent native Apache httpd-based and pure-Java Undertow-based load-balancer
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.