Lecture 8b: Proxy Server Load Balancing



Similar documents
Lab 5 Explicit Proxy Performance, Load Balancing & Redundancy

Server Traffic Management. Jeff Chase Duke University, Department of Computer Science CPS 212: Distributed Information Systems

FAQs for Oracle iplanet Proxy Server 4.0

Overlay Networks. Slides adopted from Prof. Böszörményi, Distributed Systems, Summer 2004.

Load Balancing Web Applications

Deploying the Barracuda Load Balancer with Office Communications Server 2007 R2. Office Communications Server Overview.

CS514: Intermediate Course in Computer Systems

How To - Configure Virtual Host using FQDN How To Configure Virtual Host using FQDN

Single Pass Load Balancing with Session Persistence in IPv6 Network. C. J. (Charlie) Liu Network Operations Charter Communications

This presentation describes the IBM Tivoli Monitoring 6.1 Firewall Implementation: KDE Gateway Component.

Understanding Slow Start

Lecture 8a: WWW Proxy Servers and Cookies

DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP System v10 with Microsoft IIS 7.0 and 7.5

Configuration Notes 0215

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

Availability Digest. Redundant Load Balancing for High Availability July 2013

LoadBalancer and Exchange 2013

LAN TCP/IP and DHCP Setup

Application Note. SIP Domain Management

IP Phone Presence Setup

Teldat Router. DNS Client

Configuring Nex-Gen Web Load Balancer

Hashing in Networked Systems

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

Chapter 10: Scalability

How Comcast Built An Open Source Content Delivery Network National Engineering & Technical Operations

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

Microsoft Lync Server Overview

Advanced Computer Networks. Layer-7-Switching and Loadbalancing

WebGUI Load Balancing

Web Application Hosting Cloud Architecture

Configuring HAproxy as a SwiftStack Load Balancer

Building a Highly Available and Scalable Web Farm

IERG 4080 Building Scalable Internet-based Services

FortiOS Handbook - Load Balancing VERSION 5.2.2

Lecture 8a: WWW Proxy Servers and Cookies

Application Note. Onsight Connect Network Requirements v6.3

Deploying the BIG-IP System v10 with Oracle Application Server 10g R2

TELE 301 Network Management. Lecture 17: File Transfer & Web Caching

PowerLink Bandwidth Aggregation Redundant WAN Link and VPN Fail-Over Solutions

BASICS OF SCALING: LOAD BALANCERS

Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. G.Bianchi, G.Neglia, V.Mancuso

Deploying the BIG-IP System v11 with DNS Servers

Load Balancing IBM Lotus Instant Messaging and Web Conferencing Servers with F5 Networks BIG-IP System

ExamPDF. Higher Quality,Better service!

DNS ROUND ROBIN HIGH-AVAILABILITY LOAD SHARING

Meeting Worldwide Demand for your Content

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

Module 8: Concepts of A Network Load Balancing Cluster

Fundamentals of Windows Server 2008 Network and Applications Infrastructure

Figure 41-1 IP Filter Rules

Using DNS SRV to Provide High Availability Scenarios

How To. Instreamer to Exstreamer connection. Project Name: Document Type: Document Revision: Instreamer to Exstreamer connection. How To 1.

Lecture 2 CS An example of a middleware service: DNS Domain Name System

DEPLOYMENT GUIDE Version 1.0. Deploying the BIG-IP LTM System with VMware View

HTG XROADS NETWORKS. Network Appliance How To Guide: EdgeDNS. How To Guide

OpenFlow Based Load Balancing

FAQ: BroadLink Multi-homing Load Balancers

GLOBAL SERVER LOAD BALANCING WITH SERVERIRON

DMZ Network Visibility with Wireshark June 15, 2010

DEPLOYMENT GUIDE DEPLOYING THE BIG-IP LTM SYSTEM WITH ADOBE ACROBAT CONNECT PROFESSIONAL

Load Balancing IBM WebSphere Servers with F5 Networks BIG-IP System

DEPLOYMENT GUIDE DEPLOYING THE BIG-IP SYSTEM WITH MICROSOFT INTERNET INFORMATION SERVICES (IIS) 7.0

Deploying the BIG-IP System v11 with LDAP Servers

Application Layer -1- Network Tools

Deploying F5 with Microsoft Forefront Threat Management Gateway 2010

ENTERPRISE DATA CENTER CSS HARDWARE LOAD BALANCING POLICY

Load Balancing Microsoft Sharepoint 2010 Load Balancing Microsoft Sharepoint Deployment Guide

Avaya P330 Load Balancing Manager User Guide

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. Caching, Content Distribution and Load Balancing

Quick Note 026. Using the firewall of a Digi TransPort to redirect HTTP Traffic to a proxy server. Digi International Technical Support December 2011

Wikimedia Architecture Doing More With Less. Asher Feldman Ryan Lane Wikimedia Foundation Inc.

DEPLOYMENT GUIDE Version 1.1. DNS Traffic Management using the BIG-IP Local Traffic Manager

DEPLOYMENT GUIDE. Deploying F5 for High Availability and Scalability of Microsoft Dynamics 4.0

Application Note Multiple SIParator Distribution

Load Balancing. FortiOS Handbook v3 for FortiOS 4.0 MR3

axsguard Gatekeeper Internet Redundancy How To v1.2

Unix System Administration

Using IPM to Measure Network Performance

Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT)

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

Chapter 6 Virtual Private Networking Using SSL Connections

Aqua Connect Load Balancer User Manual (Mac)

Bridgit Conferencing Software: Security, Firewalls, Bandwidth and Scalability

Prerequisites. Creating Profiles

SiteCelerate white paper

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5

FortiOS Handbook Load Balancing for FortiOS 5.0

Superior Disaster Recovery with Radware s Global Server Load Balancing (GSLB) Solution

A Standard Modest WebSite

Application Note. Active Directory Federation Services deployment guide

APV9650. Application Delivery Controller

Coyote Point Systems White Paper

DEPLOYMENT GUIDE Version 1.0. Deploying the BIG-IP LTM with Microsoft Windows Server 2008 R2 Remote Desktop Services

Networking and High Availability

Load Balancing using MS-Redirect Mechanism

NLoad Balancing Stackable Switch

HUAWEI OceanStor Load Balancing Technical White Paper. Issue 01. Date HUAWEI TECHNOLOGIES CO., LTD.

Ranch Networks for Hosted Data Centers

LinkProof DNS Quick Start Guide

Transcription:

Internet and Intranet Protocols and Applications Lecture 8b: Proxy Server Load Balancing March, 2004 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu

Load Balancing Problem: Single physical Origin or Proxy Server may not be able to handle its load Solution: install multiple servers and distribute the requests. How do we distribute requests among the servers? 2

DNS Round Robin DNS is configured so multiple IP Addresses correspond to a single host name multiple type A records in DNS Database A harpo 10.0.0.15 A harpo 10.0.0.16 A harpo 10.0.0.17 Modify the DNS server to round-robin through through the IP addresses for each new request This way, different clients are pointed to different servers 3

Problems with DNS Round Robin Not optimal for proxy servers cache content is duplicated (why?) multi-tier proxy arrangement won t work if cookies are used load is not truly balanced assignment is at DNS lookup level, not HTTP request level Failures are seen by the client (why?) 4

ICP Internet Cache Protocol Used for querying proxy servers for cached documents Typically used by proxy servers to check other proxy server s cache Could be used by clients however RFC 2186, 2187 5

ICP ICP request has desired URL in it send via UDP to other proxy servers Other proxy servers respond HIT or MISS Works better in LANs than Internet (why?) Might IP multicast help? 6

Problems with ICP ICP queries generate extra network traffic Does not scale well more proxy servers = more querying Caches become redundant 7

Non-redundant Proxy Load Balancing Proxy selection based on a hash function Hash value is calculated from the URL Use resulting hash value to choose proxy Use Host name in hash function to ensure request routed to same proxy server (why?) 8

Cache Array Routing Protocol (CARP) Hash-based proxy selection mechanism No queries hashing used to select server Highly scalable performance improves as size of array increases automatically adjusts to additions/deletions of servers Eliminates cache redundancy No new protocols! 9

How CARP Works Given an array of Proxy servers Assume array membership is tracked using a membership list A hash value H s is computed for the name of each proxy server in list (only when list changes) A hash value H u is computed for the name of each requested URL For each request, a combined hash value H c = F(H s, H u ) is computed for all servers Use highest H c to select server 10

CARP: Hierarchical Routing Internet Jericho 1 Jericho 2 Jericho 3 Jericho 4 Requests Routed Upstream by Hash Function One server acts as director using Hash routing. Cache hit rate is maximized (why?) Single point of failure (use DNS RR?) Downstream Proxy User Pool 11

CARP: Distributed Routing Upstream proxy evaluates request against own cluster User Pool Internet Jericho 1 Jericho 2 Jericho 3 Jericho 4 Users don't implement routing function, and forward requests to one proxy Requests can be sent directly to ANY member of the Array. Route request to best score if not me. Don t cache response if redirected 12

CARP Features Assume the membership stays the same Then a given URL always maps to the same Proxy (because the hash functions are deterministic) Thus, a given page always resides in the same proxy So caching works And pages are not stored redundantly When a membership of size n changes by one, only 1/n th of the URLs are remapped 13

CARP Example Proxy Hash 19 14 5 2 Jericho1 13 5 6 10 4 Jericho2 8 9 2 7 5 Jericho3 5 7 4 3 10 Jericho4 28 4 7 8 1 www.microsoft.com www.yahoo.com www.msn.com www.ibm.com Note the distribution of URL across servers 14

CARP: adding a new server Proxy Hash 19 14 5 2 Jericho1 13 5 6 10 4 Jericho2 8 9 2 7 5 Jericho3 5 7 4 3 10 Jericho4 28 4 7 8 1 Jericho5 14 2 9 4 6 www.microsoft.com www.yahoo.com www.msn.com www.ibm.com A 5th server is added and effects only 1/5 of the existing mappings 15

The CARP Hash Functions Host (server) Hash Computations use 32 bit UNSIGNED integers H S = 0; // initially for each character C i in host name H S += R(H S, 19) + C i // where R(x,n) ::= logical left rotate x by n End for H S += H S *0x62531965 H S = R(H S, 21) 16

The CARP Hash Functions URL Hash Computations use 32 bit UNSIGNED integers H U = 0; // initial H U = 0; for each character C i in URL H U += R(H U, 19) + C i End for 17

The CARP Hash Functions Combining Hash Function Again, all computations are performed using 32-bit unsigned integers H C = H U ^ H S // [exclusive OR] H C += H C *0x62531965 H C = R(H C, 21) 18

The CARP Membership Table The format of the table is: # This information is the Global Information given once per table Proxy Array Information/<Version number> ArrayEnabled: <0 1> ConfigID: <opaque string> ArrayName: <opaque string> ListTTL: <minutes until next check> <CR>LF> # The following fields are given for EACH member of the Array <name> <IP addr> <listening port> <table URL> <agent str> <statetime> <status UP DOWN> <load factor> <cache size> 19

CARP Membership Table Global Information Applies to the entire Array The ListTTL is most important field. It gives time in seconds that this copy of table is valid. After this time, a new copy of the table must be obtained. Global fields are separated by <CR><LF> Global Information is separated from member information by blank line (<CR><LF>) 20

CARP Membership Entries Fields in the membership record for a member are separated by spaces Member records are separated by <CR><LF> Important fields are: Name: the host name of this proxy server IP Addr: IP address for server (if not present, resolve host name) Listening Port: TCP port this proxy is listening on 21

Table URL CARP Membership Entries URL for membership table Agent String (informational) Statetime how long this member has been in array and current state Status (UP Down) member accept requests, or refused connection on last request Load Factor relative amount of total load that server can handle Cache Size (informational) 22