Apache Tomcat Clustering



Similar documents
Apache Tomcat. Load-balancing and Clustering. Mark Thomas, 20 November Pivotal Software, Inc. All rights reserved.

Apache Tomcat. Tomcat Clustering: Part 2 Load balancing. Mark Thomas, 15 April Pivotal Software, Inc. All rights reserved.

Tomcat Tuning. Mark Thomas April 2009

Apache Tomcat & Reverse Proxies

Apache and Tomcat Clustering Configuration Table of Contents

Deployment Topologies

1. Introduction 2. Getting Started 3. Scenario 1 - Non-Replicated Cluster 4. Scenario 2 - Replicated Cluster 5. Conclusion

INCREASE SYSTEM AVAILABILITY BY LEVERAGING APACHE TOMCAT CLUSTERING

Building a Scale-Out SQL Server 2008 Reporting Services Farm

ActiveVOS Clustering with JBoss

Load Balancing Web Applications

Technical White Paper - JBoss Security

Implementing and Managing Windows Server 2008 Clustering

BASICS OF SCALING: LOAD BALANCERS

Trademarks: Yellowfin and the Yellowfin Logo are registered trademarks of Yellowfin International.

IM and Presence Service Network Setup

WEBLOGIC ADMINISTRATION

Intro to Load-Balancing Tomcat with httpd and mod_jk

Appendix A Core Concepts in SQL Server High Availability and Replication

Managing Virtual Servers

SpagoBI Tomcat Clustering Using mod_jk and httpd on Centos - In-Memory Session Replication.

Common Server Setups For Your Web Application - Part II

Siemens PLM Connection. Mark Ludwig

Load Balancing using Pramati Web Load Balancer

Scaling Progress OpenEdge Appservers. Syed Irfan Pasha Principal QA Engineer Progress Software

How To Configure A Bomgar.Com To Authenticate To A Rdius Server For Multi Factor Authentication

Setting Up B2B Data Exchange for High Availability in an Active/Active Configuration

FILECLOUD HIGH AVAILABILITY

SQL Server 2012/2014 AlwaysOn Availability Group

VMware Identity Manager Connector Installation and Configuration

Availability Digest. Redundant Load Balancing for High Availability July 2013

Apache Performance Tuning

MailMarshal SMTP in a Load Balanced Array of Servers Technical White Paper September 29, 2003

CentOS Cluster Server. Ryan Matteson

Ecomm Enterprise High Availability Solution. Ecomm Enterprise High Availability Solution (EEHAS) Page 1 of 7

Security Provider Integration RADIUS Server

PingFederate. Server Clustering Guide

High Availability Enterprise Services with JBoss Application Server Clusters

Chapter 1 - Web Server Management and Cluster Topology

Oracle BI Publisher Enterprise Cluster Deployment. An Oracle White Paper August 2007

BlackBerry Enterprise Service 10. Version: Configuration Guide

Apache Tomcat Tuning for Production

MagDiSoft Web Solutions Office No. 102, Bramha Majestic, NIBM Road Kondhwa, Pune Tel: /

This presentation discusses the new support for the session initiation protocol in WebSphere Application Server V6.1.

IP Phone Presence Setup

Qualogy M. Schildmeijer. Whitepaper Oracle Exalogic FMW Optimization

High Availability CAS

High Availability with Windows Server 2012 Release Candidate

Technical White Paper: Clustering QlikView Servers

Load balancing MySQL with HaProxy. Peter Boros Percona 4/23/13 Santa Clara, CA

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

How to Make the Client IP Address Available to the Back-end Server

EQUELLA. Clustering Configuration Guide. Version 6.2

For X2V Conversions To ESX 3.5/4 and ESXi 3/4

Owner of the content within this article is Written by Marc Grote

Architecting ColdFusion For Scalability And High Availability. Ryan Stewart Platform Evangelist

AppSense Environment Manager. Enterprise Design Guide

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE

XAP 10 Global HTTP Session Sharing

Configuring Apache and IIS for High Availability Web Server Clustering

Scaling Web Applications in a Cloud Environment. Emil Ong Caucho Technology 8621

Clustering with Tomcat. Introduction. O'Reilly Network: Clustering with Tomcat. by Shyam Kumar Doddavula 07/17/2002

Monitoring Nginx Server

ExamPDF. Higher Quality,Better service!

bla bla OPEN-XCHANGE Open-Xchange Hardware Needs

Composite C1 Load Balancing - Setup Guide

F-Secure Messaging Security Gateway. Deployment Guide

This presentation covers virtual application shared services supplied with IBM Workload Deployer version 3.1.

Windows Server Failover Clustering April 2010

ADConnect SSO over Network Load Balance Cluster

Tushar Joshi Turtle Networks Ltd

Configuring Failover

What is included in the ATRC server support

High Performance Cluster Support for NLB on Window

Citrix NetScaler 10 Essentials and Networking

SQL Server AlwaysOn (HADRON)

Hosting as a Service (HaaS) Playbook. Version 0.92

OBIEE 11g Scaleout & Clustering

No.1 IT Online training institute from Hyderabad URL: sriramtechnologies.com

NetIQ Access Manager 4.1

Configuring HAproxy as a SwiftStack Load Balancer

> Technical Configuration Guide for Microsoft Network Load Balancing. Ethernet Switch and Ethernet Routing Switch Engineering

TESTING & INTEGRATION GROUP SOLUTION GUIDE

Citrix NetScaler 10 Essentials and Networking

DEPLOYMENT GUIDE CONFIGURING THE BIG-IP LTM SYSTEM WITH FIREPASS CONTROLLERS FOR LOAD BALANCING AND SSL OFFLOAD

Deploying the BIG-IP LTM with Microsoft Skype for Business

vcenter Chargeback User s Guide

ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy

1Z Oracle Weblogic Server 11g: System Administration I. Version: Demo. Page <<1/7>>

On- Prem MongoDB- as- a- Service Powered by the CumuLogic DBaaS Platform

A SURVEY OF POPULAR CLUSTERING TECHNOLOGIES

Scalable Linux Clusters with LVS

Network setup and troubleshooting

Integrating OID/SSO with E- Business Suite and Third-Party SSO Solutions. Presented by Paul Jackson (Norman Leach)

How To Manage An Orgs Server 10G (Operating System)

Amazon Elastic Beanstalk

Hyper-V Replica Essentials

Cluster APIs. Cluster APIs

MID-TIER DEPLOYMENT KB

Transcription:

Apache Tomcat Clustering Mark Thomas, Staff Engineer 2012 SpringSource, by VMware. All rights reserved

Agenda Introductions Terminology When to cluster Components Configuration choices Debugging Questions 2

Introductions 3

Introductions Mark Thomas Apache Tomcat committer (markt) Other ASF Infrastructure team Security Commons Member Staff Engineer at VMware Tomcat Security tc Server support 4

Terminology 5

Terminology Clustering Has lots of meanings / uses In Tomcat, we mean replicating HTTP session data between multiple nodes Load-balancing Using a reverse proxy to route traffic for a site to more than one Tomcat instance Sticky sessions Configuring the load-balancer so requests associated with a session are always routed to the same node 6

When to cluster 7

When to cluster Ideally, never Adds configuration complexity Requires additional processing Debugging is lot harder What do you really need? Load-balancing plus sticky sessions If a node fails, sessions will be lost Clustering should be the last resort 8

Components 9

Components Membership Cluster Channel Receiver Sender Interceptors Manager Valves Deployer Listeners 10

Configuration choices 11

Configuration choices: Manager Two options Delta manager Backup manager Delta manager Default Replicates every change to every node Maximum reliability Network traffic proportional to the square of the number of nodes Doesn t scale to large numbers of nodes Fail-over can be to any node 12

Configuration choices: Manager Backup manager Sessions have a primary node and a backup node Need to use sticky sessions Backup node selected on a round-robin basis from all other nodes There is NOT a single backup node Every node knows the primary node and backup node for every session Network traffic proportional to the number of nodes Failover is more complicated 13

Configuration choices: Manager Node A Primary Sessions: 30*A Backup sessions: 10*B, 10*C, 10*D Node B Primary Sessions: 30*B Backup sessions: 10*A, 10*C, 10*D Node C Primary Sessions: 30*C Backup sessions: 10*A, 10*B, 10*D Node D Primary Sessions: 30*D Backup sessions: 10*A, 10*B, 10*C 14

Configuration choices: Manager Node A Primary Sessions: 30*A Backup sessions: 10*B, 10*C, 10*D Node B Primary Sessions: 30*B Backup sessions: 10*A, 10*C, 10*D Node C Primary Sessions: 30*C Backup sessions: 10*A, 10*B, 10*D Node D Primary Sessions: 30*D Backup sessions: 10*A, 10*B, 10*C 15

Configuration choices: Manager Node D fails Sessions will be distributed to other nodes As soon as node failure is detected If new node was the backup It becomes the primary A new backup node is selected Session is copied to new backup node If new node was not the backup It becomes the primary The backup node remains the same Session is copied from the backup node Sessions are re-distributed amongst remaining nodes 16

Configuration choices: Manager Node A Primary Sessions: 40*A Backup sessions: 20*B, 20*C Node B Primary Sessions: 40*B Backup sessions: 20*A, 20*C Node C Primary Sessions: 40*C Backup sessions: 20*A, 20*B Node D Primary Sessions: 30*D Backup sessions: 10*A, 10*B, 10*C 17

Configuration choices: Membership Two options Multicast Static Multicast membership Requires multicast to be enabled on the network Can be difficult to debug problems Scales more easily Static Simple to debug Adding nodes gets time consuming as cluster grows 18

Configuration choices: sendoptions Delta manager channelsendoptions on Cluster Backup manager mapsendoptions on Manager Synchronous or asynchronous 19

Configuration choices: sendoptions Synchronous Request processing does not complete until session data has been sent What is meant by sent? On the TCP stack Received by the other node Processed by the other node Next request to a different node will see updated sessions Asynchronous Request processing does not have to wait for session data to replicate Next request to a different node may not see updated sessions 20

Configuration choices: Summary Manager Delta or Backup Sticky sessions Yes or no Membership Multicast or static Send options Synchronous or asynchronous 21

Debugging 22

Debugging: Cluster configuration Need to know Session ID Current route Which node handled the request I use a simple JSP page that shows all of the above Quickly test behaviour is as expected Is the route correct for the current node Is load-balancing happening as expected Is fail-over happening as expected Keep in mind how reverse proxy handles failed nodes 23

Debugging: Application problems Just like trying to debug any other application problem But harder Can the issue be replicated in a non-clustered environment? Approach depends a lot on the application Network / failover issues Look at the access logs (need session IDs) Look at error logs May need to look at network traffic Application issues Logging, logging and more logging Need to be able to fine tune logging 24

Questions 25