http://www.caucho.com/resin-application-server/
Advanced Resin tutorial for Clustering, Load Balancing and Scalability
Clustering
-Resin clustering is a hub-and-spoke model using a triple-redundant triad of servers as the cluster hub
-Triad servers addresses are configured in resin.properties, and therefore are typically well-known and do not frequently change
-Triad servers typically run an HTTP listener on a non-standard port for testing and administrator access to the resin-admin webapp
-All servers in a cluster can be remotely managed via resin-admin, command-line, or REST
-Cluster servers us HMUX to share topology changes, distributed cache data, heartbeats, JMX, and performance metrics
Application Deployment
-Applications can be remotely deployed to any triad server via resin-admin, command-line, or REST
-Internally Resin places applications in a .git repository to manage versioning and consistency across all cluster members
-Unless explicitly specified, Resin uses the deploy timestamp as the version identifier
-Distributed applications must be managed through Resin - manually copying an application to the webapps/ directory does not update the cluster
Load -Balancing
-Business logic and database manipulation occurs on the app-tier, formed by one or more app clusters
-Resin's load-balancer runs on the web-tier, which can also serve static content, images, and rewrite rules
-An Apache plug-in is available as an alternative to Resin on the web-tier
-Resin's load-balancing algorithm is an adaptive round-robin based on connection counts and cpu metrics
-Load-balancing to multiple web-tier servers is typically accomplished with a hardware load-balancer or round-robin DNS
Failover
-Sticky-session are the default, with the primary server for each session encoded in the session id, stored in a cookie
-Resin's load-balancer is cluster aware - failed servers are removed from the available pool and failed sessions are dispatched to another server
-Session data is triple replicated and persisted to disk on the triad hub
-Cluster members use an efficient versioning algorithm to ensure they have the latest session data or retrieve it from a triad member if necessary
Scalability
-Dynamic servers allow a Resin cluster to scale elastically while Resin automatically adjusts the cluster to manage those servers
-New servers joining the cluster are automatically updated with distributed applications, cache, and health information
-Resin's load-balancer automatically updates with changing cluster topology
-Dynamic servers can be remotely managed via resin-admin, command-line, or REST
Download Resin: http://www.caucho.com/download
Free 60-day license:
[email protected] / 858-456-0300