0% found this document useful (0 votes)
63 views71 pages

Caucho 2012 Cloud Slides

Java EE Web Profile Certified resin is a lightweight, Open Source Java EE Application Server. Caucho(r), resin(r) and quercus(r) are registered trademarks of caucho Technology, Inc.

Uploaded by

billdigman
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views71 pages

Caucho 2012 Cloud Slides

Java EE Web Profile Certified resin is a lightweight, Open Source Java EE Application Server. Caucho(r), resin(r) and quercus(r) are registered trademarks of caucho Technology, Inc.

Uploaded by

billdigman
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 71

Lightweight, Open Source Java EE Application Server

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved. caucho , resin and quercus are registered trademarks of Caucho Technology, Inc.

Tuesday, January 31, 12

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved. caucho , resin and quercus are registered trademarks of Caucho Technology, Inc.

Tuesday, January 31, 12

Gartner names Caucho in "Cool Vendors in Platform and Integration Middleware"


Java EE Certied

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved. caucho , resin and quercus are registered trademarks of Caucho Technology, Inc.

Tuesday, January 31, 12

Resin Overview

High-performance, cloud-optimized Java application server Resin cloud support Third generation clustering optimized to run in ec2, Iaas environments First java app server to support Java EE WebProle Supports JMS, servlets, JPA, CDI and more DevOps friendly and cloud ready CLI and Rest controllable cloud platform

PaaS simplicity with IaaS control

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Resin Basics

Older than Tomcat Used by big companies like Toronto Stock Exchange, Salesforce.com and Conde Nast Known for its speed, ease-of-use, and small footprint Java EE Web Prole Certied Resin Open Source fast open source, Java EE WebProle Java Application Server Resin Pro adds world class support, health system, clustering, and cloud

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Quotes

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Quotes

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Resin Cloud and Clustering


Lightweight, Open Source Java EE App Server

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved. caucho , resin and quercus are registered trademarks of Caucho Technology, Inc.

Tuesday, January 31, 12

Cloud Support

Cloud support is Resins 3rd generation clustering Designed for elastic cluster Ability to add and remove servers from a live cluster Resin clustering uses Triad server model Triad is a triple redundant hub

Hub and spoke network Triad Responsible for load-balancing clustered services Triad servers also service regular requests

Clustered Services Load Balancing, Caching, JMS, Clustered Deployment Added servers enroll automatically in services

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Very Large Cloud


Very$large$Resin$Cloud/Cluster$
Pod$1$ Pod$1$ Pod$1$ Pod$1$ Pod$0$ Pod$1$ Pod$1$ Pod$1$ Pod$5$ Pod$5$$ Pod$1$ Pod$1$ Pod$1$ Pod$1$ Pod$10$ Pod$1$ Pod$1$ Pod$1$ Pod$1$ Pod$15$

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Resin Cluster

Every server in the cluster serves up requests for the same set of applications Servers can be load balanced Servers share queue, session, and object cache data Cluster Data is replicated for fault tolerance Load balancer can add/remove servers to distribute the load at runtime (dynamically)

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Clustering Overview

Straight-forward elastic-server private cloud Servers can join and leave Designed to avoid a lot of headaches associated with other clustering solutions No massive data shufing problems No group splits, simple and reliable Not overly chatty Easy to understand and congure, dont need an army of consultants Resin prides itself on Operational Predictability

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Clustering Feature Overview

To support elastic-server cloud, Resin maintains the following when servers are added and removed:

Data redundancy with a triad hub Application deployment through a clustered transactional repository Distributed caching and store for both servlet sessions and JCache caching (and Memcached) Load balancing to the elastic spoke servers Distributed management, sensing, and health checks Elastic JMS message queues

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Resin Simple Cluster


StaAc(Triad(Servers( Hub(
Triad( Server( 1( Triad( Server( 3( Triad( Server( 2( Dynamic(( Spoke( Server( A( Dynamic(( Spoke( Server( B(

Spokes(Servers(are(connected(to(each(Triad(member(

Dynamic(( Spoke( Server( C(

Dynamic(( Spoke( Server( D(

Resin(HTTP(Load(balancer(

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Resin Simple Cluster


StaAc(Triad(Servers( Hub(
Triad( Server( 1( Triad( Server( 3( Triad( Server( 2( Dynamic(( Spoke( Server( A(

Dynamic(Spoke(servers(
Dynamic(( Spoke( Server( B(

Dynamic(( Spoke( Server( E(

Spokes(Servers(are(connected(to(each(Triad(member(

Dynamic(( Spoke( Server( C(

Dynamic(( Spoke( Server( D(

Dynamic(( Spoke( Server( F(

Resin(HTTP(Load(balancer(

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Clustering is Always There

Clustering is always enabled Even if you have single server, that server belongs to a cluster As you add more servers, the servers are added to the cluster Added servers automatically gain benets like clustered health monitoring

heartbeats distributed management triple redundancy, distributed versioned deployment

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Advantages of Clustering

HTTP Load balancing and failover Elastic servers: adding and removing servers dynamically Distributed deployment and versioning of applications. A triple-redundant triad as the reliable cluster hub Heartbeat monitoring of all servers in the cluster Health sensors, metering and statistics across the cluster Clustered JMS queues and topics Distributed JMX management Clustered caches and distributed sessions

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Why You Need Clustering

Most web applications start with a single server, at least during development Later severs get added for increased performance and/or reliability Developers are familiar with single server deployment As web application usage grows Single server can have hardware limitations especially if more than one app is hosted on app server

Hardware limits can occur like chronic high CPU and memory usage etc. Other resources can be adversely impacted

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Server Load Balancing

Server load-balancing solves scaling problem

Lets you deploy a single web app to more than one physical machine Machines share the web application trafc Reducing total workload on a single machine and providing better performance from the perspective of the user

Load-balancing achieved by redirecting network trafc across multiple machines via a hardware or software load-balancer Resin supports software load balancer as well as hardware load balancers Load-balancing increases reliability/up-time if one or more servers go down for maintenance or due to failure, With a single server application, any down-time is directly visible to the user, drastically decreasing reliability

other servers can still continue to handle trafc

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Clustered Deployment

Cluster deployment Resin's allows deploying web applications to the entire cluster Allows updating new versions of your application to all servers in cluster Cluster deployment versioning Verify that all servers in the cluster are running the same version When a new version deploys, all servers have an identical copy, then the new app is validated and if successful new app is available on every server in the cluster Clustered deployment is reliable across failures because its built on a transactional version control system (Git) New servers checks with the cluster (redundant triad) for latest version of applications version Whenever a server comes up it checks for latest version of applications Application versions consistent across cluster

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Stateful Web ApplicaFons

If web applications were stateless, load-balancing alone do the trick for scalability Many web applications are relatively heavily stateful. Even very simple web applications use the HTTP session to keep track of current login, shopping-cart-like functionality and so on. JSF and Wicket heavily use HTTP session a lot CDI and Seam also have a lot of conversational state stored in HTTP session When stateful web applications are load-balanced, HTTP sessions are shared across application servers You can use a sticky session to pin a session to a server

Session state still needs to be shared (replicated) among multiple servers for failover so users dont lose their session data

With failover of a stateful application, session has to be moved to new server picked by load balancer Without failover, the user would lose a session when a load-balanced server experiences down-time.

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Failover
StaAc(Triad(Servers( Hub(
Triad( Server( 1( Triad( Server( 3( Triad( Server( 2( Dynamic(( Spoke( Server( A( Dynamic(( Spoke( Server( B(

Spokes(Servers(are(connected(to(each(Triad(member(

Dynamic(( Spoke( Server( C(

Dynamic(( Spoke( Server( D(

Resin(HTTP(Load(balancer(

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Failover
StaAc(Triad(Servers( Hub(
Triad( Server( 1( Triad( Server( 3( Triad( Server( 2( Dynamic(( Spoke( Server( A(

Dynamic(Spoke(servers(
Dynamic(( Spoke( Server( B(

Dynamic(( Spoke( Server( E(

Spokes(Servers(are(connected(to(each(Triad(member(

Dynamic(( Spoke( Server( C(

Dynamic(( Spoke( Server( D(

Dynamic(( Spoke( Server( F(

Resin(HTTP(Load(balancer(

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Triad Spoke and Hub

Triad based on lessons learned from 13 years of clustering support Triad is the hub Triple Redundancy so you perform maintenance on one box while two remain for fault tolerance Load increases 50% for each remaining server instead of increasing 200% if just using a backup model Important persistent data is stored and replicated on Triad servers (easy to understand)

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Triad Model Advantages

Easier to understand, no magic Complex models very hard to support with Ops Triad gives you operational predictability Triad makes private cloud conguration much simpler Best combination of centralization, reliability and speed

Centralized responsibilities in hub (called Triad) Reliability for upgrading and maintenance

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Triad Model

Based on years of experience from developing distributed clustering for a wide variety of user congurations Rened to a hub-and-spoke model Interlocking benets for the dynamically scaling server When you bring down one server for maintenance, triple redundancy continues to maintain reliability Elastically add and remove dynamic servers safely without affecting the redundant state Network processing load-balanced across three servers, eliminating a single point of failure: fault resistant Your servers scale evenly across the cluster because each new server only needs to speak to the triad, not all servers: reduced chatter and operational predictability Your large site can split cluster into many independent "pods" of up to 64-servers to maintain scalability

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

ElasFc Spoke Server

Non-Triad servers are spokes in hub-and-spoke model 'Spoke' servers not needed for reliability Spoke servers don't store Primary cache values, Primary application deployment repository, Queue storage (JMS) Spoke servers can be added at will Add and remove them without affecting the primary system Optimized to reduce excessive data shufing if a server is removed

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Triad Servers

Important data that needs to be replicated is always stored in the Triad Master Queue data, master cache data, master deployment les Other servers just use Triad This model is easy to understand

No complex data sharing and copying scheme Non-Triad servers are more expendable Triad servers are worth additional reliability attention

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Server Types

Dynamic server Servers that are elastic

Static server Servers that are congured by id and ip address in the resin.xml First three Static Servers congured are Triad servers Triad servers also handle normal requests

Also described as elastic servers Does not need a xed IP Easy to bring up and down

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

ElasFc Servers with ElasFc Cluster Service

Add and remove servers dynamically to the system, Automatically adjusts the cluster to manage those servers Deployed applications get pushed to the new server automatically Distributed caching is notied of the new server Load balancer updates itself to include the new server JMS queues update with the new server so the new server can get messages Cluster administration adds the new server so the new server can for example get health heartbeats from the Triad

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Baseline ConguraFon

Dene 3 static servers in resin.xml First three are always Triad Triad servers are always static Copy resin.xml le to $RESIN_HOME/conf across all server boxes Attach new servers from command-line As many as you need These are Dynamic Spoke Servers

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Baseline Cluster Setup


1. Dene a resin.xml with three static servers as the triad. 2. Start the triad servers as normal. 3. Deploy .wars to the triad with the command-line 'deploy' to enable automatic deployment to the new servers. 4. Install a machine (or VM image) with Resin, your licenses, and the resin.xml. 5. Start the new Resin server with a --join-cluster command-line option. 6. The new server will load the applications from the triad and join in any clustered services like load-balancing and caching. 7. When load drops, stop the new Resin server as usual.

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Basic ConguraFon

Triad& Server& 1& Triad& Server& 3&

Triad& Server& 2&

Dynamic&& Spoke& Server& A&

Dynamic&& Spoke& Server& B&

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Basic ConguraFon
Load(increases.( Spin(a(new(server(( up(

Triad& Server& 1& Triad& Server& 3&

Triad& Server& 2&

Dynamic&& Spoke& Server& A&

Dynamic(( Spoke( Server( C(

Dynamic&& Spoke& Server& B&

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Triad in resin.xml

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Triad in resin.xml

Dene Triad

Spin up a new VM instance and add it to the cluster. It talks to the triad to join

Spin up a new VM instance and add it to the cluster. It talks to the triad to join

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

New Server Dynamically Joining Cloud

Triad&Server&1&
192.168.1.10&

Triad&Server&2&
192.168.1.11&

Triad&Server&3&
192.168.1.12&

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

New Server Dynamically Joining Cloud


Spin up a new VM instance and add it to the cluster. It talks to the triad to join

Triad&Server&1&
192.168.1.10&

Dynamic(( Spoke( Server( A(

Ask for latest application versions

Triad&Server&2&
192.168.1.11&

Triad&Server&3&
192.168.1.12&

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

New Server Dynamically Joining Cloud

Triad&Server&1&
192.168.1.10&

Dynamic(( Spoke( Server( A(

Triad&Server&2&
192.168.1.11&

Triad&Server&3&
192.168.1.12&

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

New Server Dynamically Joining Cloud


Spin up a new VM instance and add it to the cluster. It talks to the triad to join

Triad&Server&1&
192.168.1.10&

Dynamic(( Spoke( Server( A(

Dynamic(( Spoke( Server( B(

Ask for latest application versions

Triad&Server&2&
192.168.1.11&

Triad&Server&3&
192.168.1.12&

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Triad with Less Than Three StaFc Servers

You can have only one Static server in resin.xml Congured Server is Triad, but there is no failover, if server goes down, cluster is down Triad only has one server in it You can have two Static Servers in resin.xml

Both servers are Triad members Triad only has two servers in it You get failover but not as robust as three

Three is the most reliable

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Two Triad Server Hub, Problem with Load

Triad& Server& 1&

Triad& Server& 2&

Dynamic&& Spoke& Server& A&

Dynamic&& Spoke& Server& B&

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Two Triad Server Hub, Problem with Load


Triad%responsibili4es%of%Triad%Server%2%goes%up%200%%
Dynamic&& Spoke& Server& A&

Server& 1& maintenance%

Triad& Down%for%%

Triad& Server& 2&

Dynamic&& Spoke& Server& B&

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Basic ConguraFon 1 Triad Server Down

Triad& Server& 1& Triad& Server& 3&

Triad& Server& 2&

Dynamic&& Spoke& Server& A&

Dynamic&& Spoke& Server& B&

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Basic ConguraFon 1 Triad Server Down


Triad%responsibility%load%increases%by%50%% For%Triad%Server%2%and%Triad%Server%3%
Dynamic&& Spoke& Server& A&

Triad& Down%for%% Server& maintenance% 1& Triad& Server& 3&

Triad& Server& 2&

Dynamic&& Spoke& Server& B&

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

One Triad Server Hub

Dynamic&& Spoke& Server& A&

Triad& Server& 1&


Dynamic&& Spoke& Server& B&

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

One Triad Server Hub

Spoke%servers%in%opera3on%con3nue%to%work.%% Clustering%services%stop.%No%new%spoke%servers%can%be% Added%un3l%Triad%Server%is%back%up%


Dynamic&& Spoke& Server& A&

Triad& Down%for%% Server& maintenance% 1&


Dynamic&& Spoke& Server& B&

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

More than 3 StaFc Servers

You can have more than 3 static servers XML le can document all of the static servers ahead of time Clustering administration (cluster heartbeats) lets you track up time and down time of all static servers Static servers show up in Topology

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

StaFc Servers Outside of Triad


Sta.c&servers&can&be&spoke&servers&

Triad& Server& 1& Triad& Server& 3&

Triad& Server& 2&

Sta.c& Spoke& Server& A&

Sta.c& Spoke& Server& B&

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

StaFc Servers Outside of Triad


Sta.c&servers&can&be&spoke&servers&

Triad& Server& 1& Triad& Server& 3&

Triad& Server& 2&

Sta.c& Spoke& Server& A&

Dynamic(( Spoke( Server( C(

Sta.c& Spoke& Server& B&

Dynamic(( Spoke( Server( D(

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Web Tier Full Featured

Dynamic load balancer that is cluster/cloud aware Added servers automatically take load Features similar to expensive Level 7 Hardware load balancer, Level 7 is ADC - Application Delivery Controller HTTP proxy caching similar to Squid HTTP stack faster than Apache HTTPD

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

HTTP Load Balancing Easy to Add

If trafc increases beyond capacity 1 app server, Add HTTP load balancer as well as the second application server The load balancer is in the Resin web-tier used for HTTP load-balancing and HTTP proxy caching Now you have load balancing and fault tolerance Two tier topology, with web-tier load balancer and app server tier Resin can function as web-tier load balancer and app-tier app servers Easy to setup, same cong le as before, just a few XML entries and viola you have a HTTP load balancer Just add <resin:LoadBalance> tag to forward request to app-tier A load balanced system in Resin Dene the servers to use as the application-tier, Dene the servers in the web-tier, Select which requests are forwarded (proxied) to the backend app-tier servers.

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

HTTP Load Balancing Easy to Scale Out

Small to medium level sites (under 64 servers per application) Can use Resins load balancer which is cloud/cluster aware Beyond 64 servers Resin works with hardware load balancers Divide servers into cluster pods of up to 64 servers Hardware load balancer load balances to Resin load balancers In effect, hardware load balancer load balances to Resin cluster pods

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Load Balancer

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Resin Cloud/Cluster Aware Load Balancer

Triad& Server&1&

Triad& Server& 2&

Dynamic&& Spoke& Server& A&

Dynamic&& Spoke& Server& B&

Triad& Server& 3&

Dynamic&& Spoke& Server& C&

Dynamic&& Spoke& Server& D&

Resin&Web&Tier,&HTTP&Load&Balancer&with&SDcky&Session,&HTTP&Proxy& Cache,&Faster&than&Apache&HTTPD&
Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Resin Cloud/Cluster Aware Load Balancer


Spin(up(two(new(virtual(machine(( Instances(with(Resin(
Triad& Server&1& Triad& Server& 2&
Dynamic&& Spoke& Server& A& Dynamic&& Spoke& Server& B&
Dynamic(( Spoke( Server( E(

Triad& Server& 3&

Dynamic&& Spoke& Server& C&

Dynamic&& Spoke& Server& D&

Dynamic(( Spoke( Server( F(

Resin&Web&Tier,&HTTP&Load&Balancer&with&SDcky&Session,&HTTP&Proxy& Cache,&Faster&than&Apache&HTTPD&
Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Pods for Mass Scale Out


Tuesday, January 31, 12

If you never plan on using more than 64 servers, dont think about pods By default a cluster contains 1 pod A pod is a collection of up to 64 servers A pod has 1 triad (of up to 3 servers) and up to 61 to 63 static or dynamic servers

Once you go beyond 64, you use this conguration: <cluster ><pod><server> </pod> Essentially divide servers up Below 64 you use this: <cluster ><server> </cluster> This is for cluster communicatoin responsiveness. Each cluster can have up to 64 pods

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.

Resin Cloud Aware Load Balancer Massive Scale


Resin&pod&1&
Dyna mic&& Spoke& Server& A& Dyna mic&& Spoke& Server& B& Dyna mic&& Spoke& Server& E& Dyna mic&& Spoke& Server& A&

Resin&pod&2&
Dyna mic&& Spoke& Server& B& Dyna mic&& Spoke& Server& E&

Triad& Serv er&1& Triad& Serv er& 3&

Triad& Serv er& 2&

Triad& Serv er&1& Triad& Serv er& 3&

Triad& Serv er& 2&

Dyna mic&& Spoke& Server& C&

Dyna mic&& Spoke& Server& D&

Dyna mic&& Spoke& Server& F&

Dyna mic&& Spoke& Server& C&

Dyna mic&& Spoke& Server& D&

Dyna mic&& Spoke& Server& F&

Resin&HTTP&Load&Balancer/&Web&Tier&

Resin&HTTP&Load&Balancer&/&Web&Tier&

Resin&Cluster&with&two&pods& If&Hardware&Load&Balancers& Supports&16&Servers.& And,&Each&Server&can&be&LB&for&& Cluster&with&64&servers& Then&16&*&64&=&1024&servers& &LimitaFon&of&Cluster&4096&servers&64&*&64&

Hardware&load&balancer& With&sFcky&session&support&

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Massive Scale Out: A 20 Pod System


Very$large$Resin$cloud/cluster$
Pod$1$ Pod$1$ Pod$1$ Pod$1$ Pod$0$ Pod$1$ Pod$1$ Pod$1$ Pod$5$ Pod$5$$ Pod$1$ Pod$1$ Pod$1$ Pod$1$ Pod$10$ Pod$1$ Pod$1$ Pod$1$ Pod$1$ Pod$15$

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Load Balancer Basics

Dene servers to use as application-tier Dene servers in web-tier, and select which requests are forwarded (proxied) to the backend app-tier servers Since clustering conguration already dened, only one additional conguration used forward request to app tier <resin:LoadBalance>

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Sample Load Balancer ConguraFon

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Load Balancer Setup


app+?er&cluster&
Triad&Hub&
app+a& 192.168.0.10& app+b& 192.168.0.11&
Spoke&server&bus&

web+?er&cluster& Load&Balancer& web+a&& 192.168.0.1&


Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Load Balancer Setup


app#$er'cluster'
Triad&Hub&
app+a& 192.168 .0.10& app+b& 192.168.0 .11&

web$%er'cluster'
Load&Balancer& web+a&& 192.168.0.1&
Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Load Balancer Setup


app#$er'cluster'
Triad&Hub&
app+a& 192.168 .0.10& app+b& 192.168.0 .11&

web$%er'cluster'
Load&Balancer& web+a&& 192.168.0.1&
Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

SFcky/Persistent Sessions


Tuesday, January 31, 12

Sticky session means load balancer has session afnity per server, i.e., if you start your session on one server, session stays on that server Resin does not replicate sessions by default With no sticky afnity, load balancer would pick a server pseudo randomly for each request (round robin), if it did, and you logged into server-b on second request you could log into server-c and lose your login from the rst request With session afnity, user will go to server-b as long as long as server-b did not go down, if server-b goes down, then all users on server-b would lose their session unless session replication was turned on With session afnity and replicated session, users would go to server-b as long as it was up, if it were down, user would get directed to new server, the new server would request the session data for that user from the Triad Without session afnity and with replicated sessions, sessions would be constantly copied from one server to another

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.

Clustering Sessions

load balancing, maintenance and failover should be invisible to your users Resin replicate user's session data across the cluster When the load-balancer fails over a request to a backup server, or when you dynamically remove a server, the backup can grab the session and continue processing From the user's perspective, there was no failure To make this process fast and reliable, Resin uses the triad servers as a triplicate backup for the user's session.

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Clustered Session Setup

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Clustered Session Setup for All webapps

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Sessions Saved

Sessions can be backed up on every request Or, Sessions can be backed up when a change is detected (default) Sessions are not locked for replication

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

Cloud OpFmized, DevOps Friendly

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

More InformaFon

Caucho Technology | Home Page Resin | Application Server Resin | Java EE Web Prole Application Server Resin - Cloud Support | 3G - Java Clustering Resin | Java CDI | Dependency Injection / IoC Resin - Health System | Java Monitoring and Server Monitoring Download Resin | Application Server Watch Resin | Application Server Featured Video

Caucho Home | Contact Us | Caucho Blog | Wiki | Application Server / Web Server Copyright (c) 1998-2012 Caucho Technology, Inc. All rights reserved.
Tuesday, January 31, 12

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy