220 likes | 591 Views
- Saravanan Mathialagan Masters in Computer Science Georgia State University. Load Sharing and Balancing. Agenda. Introduction Basic concepts Advanced concepts of server Load Balancing Application - Global server load balancing (GSLB) Application – Web Caching Load balancing in Java.
E N D
- Saravanan Mathialagan Masters in Computer Science Georgia State University Load Sharing and Balancing
Agenda • Introduction • Basic concepts • Advanced concepts of server Load Balancing • Application - Global server load balancing (GSLB) • Application – Web Caching • Load balancing in Java
Introduction • In computer networking, load balancing is a technique to distributed work between many computers, processes, hard disks or other resources in order to get optimal resource utilization and decrease computing time [3]. • The function is performed by the load balancers.
Introduction – Understanding the Load Balancer Fig 1.1 Server Farm with a load balancer [2]
Introduction – Understanding the Load Balancer • An easy example – Router in a call center server • Load Balancer – Software & hardware • Various other functions like • Server load balancing • Firewall load balancing • Transparent cache switching • Server protection • Fault Tolerance • Load Balancer does not works in the application level
Advanced Concepts • Session Persistence • The mega proxy problem • Delayed binding • Cookie switching
Advanced Concepts - Session Persistence • How application that runs on top of TCP/IP protocol affects the function of load balancer – Maintain Session[2]
Advanced Concepts – the mega proxy problem • Situations where the source IP is not a reliable way to identify a user, due to a proxy server is known as the megaproxy problem
Advanced Concepts • Delayed Binding Delayed binding is this process of delaying the binding of a TCP connection to a server until after the application request is received. • Cookie Switching Reading the cookie information to solve the Mega proxy problem
Application - Global Server Load Balancing • Domain Naming Service • Positioning the GSLB • Not to affect the existing flow • Site selection
Application - GSLB • Site selection based on the following [2] • Site health conditions • Site response time • Site Loading time
Application – Web Caching • Caches can be installed and utilized with the Load balancers in the following ways [2] • Forward proxy for client acceleration • Transparent proxy for client acceleration • Reverse proxy for server acceleration • Transparent reverse proxy for server acceleration
Application – Web Caching • Transparent reverse proxy for server acceleration [2]
Load Balancing in Java • Load Balancing for Servlets and JSPs • Load Balancing for EJBs and RMI Objects • Load Balancing for JDBC Connections
Load balancing in Java – Servlets and JSPs • Load Balancing with a Proxy Plug-in • Weblogic proxy plug-in maintains as list of web logic servlet and JSP instances • Forwards the HTTP request to those cached instances in round-robin method • Some webservers and associated proxies • Weblogic server & HTTPClusterServlet • Apache with Apache proxy plug-ins • Microsoft IIS with IIS plugins
Load balancing in Java – EJB’s and RMI’s • The Object instances stored in the stubs [1] • Techniques • Round Robin Load Balancing • Weight-Based Load Balancing • Random Load Balancing
Load balancing in Java – EJB’s and RMI’s • Round Robin Load Balancing • Server instances called in order • Simple and cheap are the advantages • If one is slow others will be affected • Weight based load balancing • Weighted in scale of 1-100 depending on the load managed by server • Load distributed accordingly • Random Load Balancing • Does not discrete difference in processing and assumes homogenous systems • Overhead in generating random number • simple
Load balancing in Java – JDBC Connection • Load balancing of JDBC connection requires the use of a multipool configured for load balancing. Load balancing support is an option you can choose when configuring a multipool [1]. • Multipool has an ordered lit of connection pool that routes the connection • Default the first connection pool if not run in load balancing mode
References • Load Balancing in Java [1] http://e-docs.bea.com/wls/docs81/cluster/ load_balancing.html#1043771 • Other references on load balancing from [2] Load Balancing Servers,Firewalls, and Caches by Chandra Kopparapu • Wiki – Load Balancing [3] http://en.wikipedia.org/wiki/Load_balancing