Cluster with Two Servers
From Resin 3.0
Line 1: | Line 1: | ||
[[Category: Cookbook]] | [[Category: Cookbook]] | ||
+ | |||
+ | 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]]. | ||
+ | |||
== resin.xml configuration == | == resin.xml configuration == | ||
Line 21: | Line 37: | ||
<resin:import path="${__DIR__}/app-default.xml"/> | <resin:import path="${__DIR__}/app-default.xml"/> | ||
+ | <development-mode-error-page/> | ||
+ | |||
<proxy-cache memory-size="64M"/> | <proxy-cache memory-size="64M"/> | ||
Revision as of 22:58, 28 August 2010
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.
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"/> <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"/> </host> </cluster> </resin>