Here's a preview of one of the changes in Resin 3.1.0 (expected late  
Sept/early Oct.  The 3.0.22 release will be about the same time.)

We're refactoring the top-level configuration tags in the resin.conf  
(the old 3.0 syntax will still work for backward compatibility).    
The basic changes are swapping the order of <cluster> and <server> so  
<cluster> now contains <server>, and merging <srun> and <server>, so  
a <server> is identified with its cluster port/address.

The in-progress release notes are at 
features/resin-3.1.0.xtp.  Also, the current status of the <cluster>  
and <server> tags are in the config section of resin-3.1.

The concepts are:

<server id="a"> - represents a single Resin JVM instance.  Each Resin  
instance will start exactly one <server> block, the one named by the - 
server command line parameter.  The <cluster> that contains the  
active <server> is the active cluster.  The <server> is represented  
by a ServerMXBean for administration (although I don't think the  
MBean is live yet in the snapshot).

The specific configuration in a <server> are those values which might  
be different for each server in a cluster.  So thread, keepalive and  
timeouts belong in server, since one server might be on a smaller  
machine.  Port information like <http>, address, and port also belong  
in server.

<cluster> - represents a set of <server> handling the same content.   
So <cluster> contains the servers and also the <host> configuration  
(and any environment resources like databases.)  With Resin 3.1.0,  
you can now have multiple clusters in the same resin.conf, which  
configurations like load-balancing much easier to handle (and explain).

The basic structure looks like:

<resin xmlns="";>
   <cluster id="app-tier">
         <http port="8080"/>


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

     <host id="...">
        ... // same as before

   <cluster id="web-tier">

Internally, the change is of medium complexity.  It's not a rewrite,  
but it's certainly more than a tweak.  It's probably best to describe  
it just as a refactoring, since it's mostly just changing the  
hierarchy/parenting relationships, making cluster a parent of server,  
when it used to be a child.

-- Scott

resin-interest mailing list

Reply via email to