Cluster with Two Servers
From Resin 3.0
This article requires cleanup and may refer to a legacy version of Resin.
Please visit http://www.caucho.com/documentation/ for the most up-to-date documentation. |
This is a basic Resin configuration with two servers in a single cluster. Since this configuration does not have a load balance tier, it needs a load balancer (Resin, Apache or hardware) to work properly.
- The two servers act as backups for each other for clustering purposes, because they form
the first two clusters of a triad. The two servers check each others heartbeats, record statistics and save each others statistics and error logs.
- Each server listens to HTTP port 8080 and serves web-apps from the webapps directory.
The root web-app would be in webapps/ROOT, for example. Standard servlet behavior and jsp and php support is enabled with the <resin:import> of app-default.xml.
- JDK logging goes to stdout, which goes to jvm-a.log and jvm-b.log as managed by
the watchdog.
- Proxy caching is enabled to improve performance.
- The /resin-admin is enabled. Passwords belong in ${resin.home}/conf/admin-users.xml
resin.xml configuration
<resin xmlns="http://caucho.com/ns/resin" xmlns:resin="urn:java:com.caucho.resin"> <log-handler name="" level="all" path="stdout:" timestamp="[%y-%m-%d %H:%M:%S.%s] "/> <logger name="com.caucho" level="info"/> <resin:AdminAuthenticator> <resin:import path="${__DIR__}/admin-users.xml" optional="true"/> </resin:AdminAuthenticator> <cluster id="my-cluster"> <server-default> <http port="8080"/> </server-default> <server id="a" address="192.168.1.10" port="6800"/> <server id="b" address="192.168.1.11" port="6801"/> <resin:import path="${__DIR__}/app-default.xml"/> <development-mode-error-page/> <proxy-cache memory-size="64M"/> <resin:DeployService/> <resin:JmxService/> <resin:LogService/> <resin:StatService/> <host id=""> <access-log path="log/access.log" format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"' rollover-period="1W"/> <web-app-deploy path="webapps"/> <web-app id="/resin-admin" root-directory="${resin.root}/doc/admin"> <prologue> <resin:set var="resin_admin_external" value="false"/> <resin:set var="resin_admin_insecure" value="true"/> </prologue> </web-app> </host> </cluster> </resin>