Cluster with Two Servers

From Resin 3.0

(Difference between revisions)
Jump to: navigation, search
Line 5: Line 5:
 
(Resin, Apache or hardware) to work properly.
 
(Resin, Apache or hardware) to work properly.
  
The two servers act as backups for each other for clustering purposes, because they form
+
* 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
 
the first two clusters of a triad. The two servers check each others heartbeats, record statistics and
 
save each others statistics and error logs.
 
save each others statistics and error logs.
  
Each server listens to HTTP port 8080 and serves web-apps from the webapps directory.
+
* 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
 
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.
 
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
+
* JDK logging goes to stdout, which goes to jvm-a.log and jvm-b.log as managed by
 
the [[watchdog]].
 
the [[watchdog]].
  
 +
* Proxy caching is enabled to improve performance.
  
 
== resin.xml configuration ==
 
== resin.xml configuration ==

Revision as of 22:59, 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.

  • Proxy caching is enabled to improve performance.

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>
Personal tools