DOC PREVIEW
CORNELL CS 514 - LECTURE

This preview shows page 1-2-3-27-28-29 out of 29 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1CS514: Intermediate Course in Computer SystemsLecture 7: Sept. 19, 2003“Load Balancing Options”CS514Sources| Lots of graphics and product description courtesy F5 website (www.f5.com)| I believe F5 is market leader in L4-L7 load balancer type products| (No I’m not on their payroll)2CS514Three reasons for using multiple servers| Capacityz Obviously---one server can’t handle all load| Robustnessz Redundant servers| Latencyz Pick server near clientCS514Load balancing concepts| Server/server group selection criteriaz How to select among groups of different types of servers| Load balancing algorithmz How to select among servers in group| Health monitoringz Measuring load, aliveness, and correctness of servers| Persistencez Once server is selected, how to keep session on same server| Redirectionz Tell client to select another server3CS514Three levels of load balancing| Name-basedz Via URL selectionz i.e. images placed on separate servers| IP-basedz DNS load balancerz Name-based and IP-based can select among geographically separated data centers| Local header inspectionz L4-L7 load balancersz Select among individual servers in data centerz Sophisticated and fine-grained selection (application level)CS514L4-L7 Load Balancer deploymentStandby mode (each L4-L7 load balancer advertises same IP addresses)ARP or IP routingIP routing* “BIG-IP” is F5 product nameARP? 802.3ad?IP routing?Health/session state4CS514Connectivity robustness: RoutingRouter RouterL4-L7 L4-L7ServersServersServers20.1.1/24Cost Metric 520.1.1/2420.1.1/24Cost Metric 10CS514Connectivity robustness: RoutingRouter RouterL4-L7 L4-L7ServersServersServers20.1.1/24Cost Metric 520.1.1/2420.1.1/24Cost Metric 105CS514Connectivity robustness: RoutingRouter RouterL4-L7 L4-L7ServersServersServers20.1.1/2420.1.1/24Cost Metric 2XCS514This also possible??Router RouterL4-L7 L4-L7ServersServersServers20.1.1/24Cost Metric 520.1.1/2420.1.1/24Cost Metric 106CS514Connectivity robustness: ARPRouter RouterL4-L7 L4-L7ServersServersServers20.1.1/2420.1.1/24Next Hop: 10.1.1.120.1.1/24Next Hop: 10.1.1.1ARP:10.1.1.1:00:ea:f1:25:0a:16XCS514Connectivity robustness: ARPRouter RouterL4-L7 L4-L7ServersServersServers20.1.1/2420.1.1/24Next Hop: 10.1.1.120.1.1/24Next Hop: 10.1.1.1ARP:10.1.1.1:00:ea:f1:25:0a:167CS514BIG-IP Input-Output (Fast Ethernet)16 Gbps (8 each way)800 SSL Trans/Sec(claimed)CS514Tahoe Networks router architectureLineCardsLineCardsLineCardsLineCardsLineCardsControlCardsLineCardsLineCardsDataCards• Redundant state everywhere• Initially line cards selects control card for new session• Control card selects data card for data packets (and program line cards with selection)• Control cards periodically update line cards with their own load.• Line cards periodically update control cards with their load.8CS514Load balancing concepts| Server/server group selection criteriaz How to select among groups of different types of servers| Load balancing algorithmz How to select among servers in group| Health monitoringz Measuring load, aliveness, and correctness of servers| Persistencez Once server is selected, how to keep session on same server| Redirectionz Tell client to select another serverCS514Health Monitoring| Same techniques apply to all three load balance levels (name, IP, local)| “Keep alive” messagesz Must be application level, not IP ping• i.e., if web services, send actual web request, check response for correctness| Agent operating on server itself (less common)z Measures load indicators (CPU, I/O, etc.) and healthz Reports back to load balancerz (Note that load balancer itself can monitor load)| Note that snooping real traffic, or monitoring absence of traffic, does not scale wellz MUST minimize per data packet processing9CS514Load balancing concepts| Server/server group selection criteriaz How to select among groups of different types of servers| Load balancing algorithmz How to select among servers in group| Health monitoringz Measuring load, aliveness, and correctness of servers| Persistencez Once server is selected, how to keep session on same server| Redirectionz Tell client to select another serverCS514Groups of serversL4-L7 L4-L7ServersServersServersServersServersServersServersServersServersServer group 1 Server group 2 Server group 3???New connection: 1. select among server group10CS514Groups of serversL4-L7 L4-L7ServersServersServersServersServersServersServersServersServersServer group 1 Server group 2 Server group 3???New connection: 1. select among server group2. load balance among groupCS514Groups of servers: “Switch and Persist”L4-L7 L4-L7ServersServersServersServersServersServersServersServersServersServer group 1 Server group 2 Server group 3New connection: 1. select among server group2. load balance among group3. subsequent persistence11CS514Reasons for server groups| Different type of servers z HTTP versus LDAP (for example)| Different server functionz Browsing versus shopping| Servers hold or cache different contentz images.cnn.com versus news.cnn.com| Different servers have different QoSz Fault-tolerant versus non-fault tolerantz For differently-valued clients (not sure I believe this one)CS514F5’s list of server group selection criteria| IP address (source or dest)| Dest addr and port (i.e. application type)| HTML:z URL: host name, path, any stringz cookie| Other applications/data structuresz email, SOAP/XML, SIP, WAP…z customizationz inspection up to 16K bytes deep into the flow• But boy are you gonna pay for this!12CS514F5’s list of load balancing criteria| Static Modes z Round Robin (RR)z Ratio• Don’t know if weighted RR, random, or hash based| Dynamic Modes z Least Connections z Fastest Observed • Probably based on keep-alives, not real trafficz Predictive (???)z Dynamic Ratio (Time of day???)CS514F5’s list of persistence criteria| Source (IP address)z Can force this even if servers within server group have a different IP addressz Timeout based cleanup| Destination (IP address)z Used to optimize caches| SSL Persistence (SSL session ID)z Even if different source IP address used later| Cookie (session and hash modes)z This allows shopping cart persistence (when user’s IP address changes)13CS514Types of source persistenceCS514More on F5 cookie persistence| Three modesz Load balancer inserts cookiez Server inserts “null” cookie, and load balancer fills it in• (doesn’t need to change packet size)z Server inserts real cookie, load balancer uses but doesn’t


View Full Document

CORNELL CS 514 - LECTURE

Documents in this Course
LECTURE

LECTURE

28 pages

Load more
Download LECTURE
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view LECTURE and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view LECTURE 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?