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

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

Apache Tomcat Clustering

Intro to Load-Balancing Tomcat with httpd and mod_jk

Apache Tomcat & Reverse Proxies

Load Balancing Web Applications

Portal In Anger. Ray Ploski Team Lead - Solutions Architecture, JBoss by Red Hat June 22, 2010

High Availability CAS

LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS

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

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

Painless Web Proxying with Apache mod_proxy

Siemens PLM Connection. Mark Ludwig

How To Handle A Power Outage On A Server Farm (For A Small Business)

High Availability Technical Notice

Topics. 1. What is load balancing? 2. Load balancing techniques 3. Load balancing strategies 4. Sessions 5. Elastic load balancing

Apache and Tomcat Clustering Configuration Table of Contents

Exploring Oracle E-Business Suite Load Balancing Options. Venkat Perumal IT Convergence

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

Lecture 8a: WWW Proxy Servers and Cookies

Tomcat Tuning. Mark Thomas April 2009

Configuring Nex-Gen Web Load Balancer

Load Balancing using Pramati Web Load Balancer

CentOS Cluster Server. Ryan Matteson

XAP 10 Global HTTP Session Sharing

mod_cluster A new httpd-based load balancer Brian Stansberry JBoss, a division of Red Hat

Apache httpd v2.4: Reverse Proxy. (The Hidden Gem) Jim Jagielski

Volume GAJSHIELD INFOTECH PVT LTD. Wan Failover & Load Balancing. Administrative Guide

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

High Availability Low Dollar Load Balancing

3/21/2011. Topics. What is load balancing? Load Balancing

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

Managing Virtual Servers

Chapter 10: Scalability

Deploying Load balancing for Novell Border Manager Proxy using Session Failover feature of NBM and L4 Switch

Apache HTTP Server. Load-Balancing with Apache HTTPD 2.2 and later. Erik Abele

MID-TIER DEPLOYMENT KB

HAProxy. Ryan O'Hara Principal Software Engineer, Red Hat September 17, HAProxy

JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers

How To Install Linux Titan

JBS-102: Jboss Application Server Administration. Course Length: 4 days

Load Balancer. Introduction. A guide to Load Balancing.

Creating Web Farms with Linux (Linux High Availability and Scalability)

How To Balance A Load Balancer On A Server On A Linux (Or Ipa) (Or Ahem) (For Ahem/Netnet) (On A Linux) (Permanent) (Netnet/Netlan) (Un

Deployment Topologies

Technical White Paper - JBoss Security

JMETER - MONITOR TEST PLAN

LinuxWorld Conference & Expo Server Farms and XML Web Services

EQUELLA. Clustering Configuration Guide. Version 6.2

ActiveVOS Clustering with JBoss

Deployment Guide. AX Series with Microsoft Office SharePoint Server

Load Balancing for Microsoft Office Communication Server 2007 Release 2

EQUELLA. Clustering Configuration Guide. Version 6.0

Routing Security Server failure detection and recovery Protocol support Redundancy

Parallels. Clustering in Virtuozzo-Based Systems

Apache Performance Tuning

CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015

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

High Availability with Elixir

Scalability of web applications. CSCI 470: Web Science Keith Vertanen

Availability Digest. Redundant Load Balancing for High Availability July 2013

DNS ROUND ROBIN HIGH-AVAILABILITY LOAD SHARING

Building a Highly Available and Scalable Web Farm

Web Application Firewalls: When Are They Useful? OWASP AppSec Europe May The OWASP Foundation

Building a Scale-Out SQL Server 2008 Reporting Services Farm

SNMP and Web-based Load Cluster Management System

Application Note. Active Directory Federation Services deployment guide

DEPLOYMENT GUIDE Version 1.0. Deploying the BIG-IP LTM with Apache Tomcat and Apache HTTP Server

High Performance Cluster Support for NLB on Window

Apache 2.2 and mod_proxy_balancer

Web Application Hosting Cloud Architecture

BASICS OF SCALING: LOAD BALANCERS

High Availability and Clustering

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

Infor Web UI High Availability Deployment

By PANKAJ SHARMA. Concepts of Server Load Balancing

Tushar Joshi Turtle Networks Ltd

Load Balancing and Sessions. C. Kopparapu, Load Balancing Servers, Firewalls and Caches. Wiley, 2002.

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

Enterprise Application Monitoring with

Formación en Tecnologías Avanzadas

White Paper. ThinRDP Load Balancing

S y s t e m A r c h i t e c t u r e

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

Lecture 8a: WWW Proxy Servers and Cookies

MuleSoft Blueprint: Load Balancing Mule for Scalability and Availability

ELIXIR LOAD BALANCER 2

IdP Clustering. You want to prevent service outages. High Availability and Load Balancing. Possible problems: HW failures

Firewall Load Balancing

Oracle Communications WebRTC Session Controller: Basic Admin. Student Guide

ENTERPRISE DATA CENTER CSS HARDWARE LOAD BALANCING POLICY

Load Balancing Web Proxies Load Balancing Web Filters Load Balancing Web Gateways. Deployment Guide

Configuring Apache HTTP Server With Pramati

LoadBalancer and Exchange 2013

Managing Application Performance with JBoss Operations Network and OC Systems RTI

Transcription:

2 Apache Tomcat Tomcat Clustering: Part 2 Load balancing Mark Thomas, 15 April 2015

Introduction Apache Tomcat committer since December 2003 markt@apache.org Tomcat 8 release manager Member of the Servlet, WebSocket and EL expert groups Consultant Software Engineer @ Pivotal Currently focused on Apache Tomcat 9 3

Terminology 4

Reverse Proxy bz.apache.org httpd instance Bugzilla (Main) (bz.apache.org/bugzilla) httpd instance Bugzilla (AOO) (bz.apache.org/ooo) httpd instance Bugzilla (SpamAassassin) (bz.apache.org/spamassassin) httpd instance 5

Load-balancing Europe www.eu.apache.org www.apache.org geoip US www.us.apache.org 6

Load-balancing Looks like a single host to the clients Multiple hosts Each host is the same Each host is independent No shared state between the hosts May share common services (e.g. authentication, database) Node failure may be visible to users 7

Load-balancing Lots of options for distributing the load Hardware load-balancer Round-robin DNS Software load-balancer httpd pen geoip 8

Load-balancing 9

Agenda Terminology Request distribution Managing state Failover Demonstration Time permitting Questions 10

Terminology Sticky sessions Without clustering, session is created only on node that handled request On next request, the load-balancer could send user to a different node where the session doesn t exist Sticky sessions is a mechanism (there are several) that ensures the user returns to the node holding their session 11

Request Distribution Many ways to select node to handle request mod_proxy Number of requests Number of bytes returned Number of current requests mod_jk As mod_proxy plus Number of sessions (estimate) 12

Request distribution Client IP Last octet Account number Last digit 0-3, 4-6, 7-9 Customer type More important customers get priority 13

Managing State Stateless applications are the simple solution Application state State includes authentication Options HTTP session Database Request parameters Load-balancing is impacted by HTTP state 14

Managing State Sticky sessions are used for HTTP State Session ID Something in the session ID identifies the correct node Users could change this Dedicated cookie Users could change this Property of client such as IP Beware of ISP that use forward proxies 15

Managing State Application property Account number Account type Often overlaps with load-balancing algorithm 16

Failover Load-balancer needs to know the state of the nodes Nodes need to taken off-line for maintenance Known in advance Several options Nodes will fail Not (usually) predictable Need to be able to detect dynamically What is the impact on users? 17

Failover Maintenance More transparent to users means More complex configuration Process takes longer Need to drain node of users How long can an HTTP session last? At what point do you stop the node anyway? Can Tomcat s parallel deployment feature help? 18

Failover Unexpected Typically there is no separate management channel between Tomcat instances and load-balancer There is with mod_cluster from JBoss Need to detect failed nodes so failover can happen as early as possible 19

Failover Unexpected Can use a failed request to detect a failed node Is a 500 response because the server crashed or because of an application bug? Is a timeout because the server crashed or because it is just a long running request? Applications that can have long running requests take at least that long to detect failures. 20

Failover Unexpected Monitoring user initiated requests to detect node failure is fragile Load-balancer triggered request to known, working, simple page More reliable Still an HTTP request with the associated overhead Protocol pings are even faster 21

Questions 22