Cluster with Two Servers

From Resin 3.0

Revision as of 15:50, 2 December 2011 by Pcowan (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
40px-Edit-clear.png This article requires cleanup and may refer to a legacy version of Resin.

Please visit 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=""

   <log-handler name="" level="all" path="stdout:"
                timestamp="[%y-%m-%d %H:%M:%S.%s] "/>

   <logger name="com.caucho" level="info"/>

     <resin:import path="${__DIR__}/admin-users.xml" optional="true"/>
   <cluster id="my-cluster">
       <http port="8080"/>

     <server id="a" address="" port="6800"/>
     <server id="b" address="" port="6801"/>

     <resin:import path="${__DIR__}/app-default.xml"/>

     <proxy-cache memory-size="64M"/>

     <host id="">
       <access-log path="log/access.log"
                   format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'

       <web-app-deploy path="webapps"/>
       <web-app id="/resin-admin" root-directory="${resin.root}/doc/admin">
           <resin:set var="resin_admin_external" value="false"/>
           <resin:set var="resin_admin_insecure" value="true"/>

Personal tools