Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Load Sharing and Balancing


Published on

  • Be the first to comment

Load Sharing and Balancing

  1. 1. Load Sharing and Balancing - Saravanan Mathialagan Masters in Computer Science Georgia State University
  2. 2. Agenda <ul><li>Introduction </li></ul><ul><li>Basic concepts </li></ul><ul><li>Advanced concepts of server Load Balancing </li></ul><ul><li>Application - Global server load balancing (GSLB) </li></ul><ul><li>Application – Web Caching </li></ul><ul><li>Load balancing in Java </li></ul>
  3. 3. Introduction <ul><li>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]. </li></ul><ul><li>The function is performed by the load balancers. </li></ul>
  4. 4. Introduction – Understanding the Load Balancer <ul><li>Fig 1.1 Server Farm with a load balancer [2] </li></ul>
  5. 5. Introduction – Understanding the Load Balancer <ul><li>An easy example – Router in a call center server </li></ul><ul><li>Load Balancer – Software & hardware </li></ul><ul><li>Various other functions like </li></ul><ul><li>• Server load balancing </li></ul><ul><li>• Firewall load balancing </li></ul><ul><li>• Transparent cache switching </li></ul><ul><li>• Server protection </li></ul><ul><li>• Fault Tolerance </li></ul><ul><li>Load Balancer does not works in the application level </li></ul>
  6. 6. Advanced Concepts <ul><li>Session Persistence </li></ul><ul><li>The mega proxy problem </li></ul><ul><li>Delayed binding </li></ul><ul><li>Cookie switching </li></ul>
  7. 7. Advanced Concepts - Session Persistence <ul><li>How application that runs on top of TCP/IP protocol affects the function of load balancer – Maintain Session[2] </li></ul>
  8. 8. Advanced Concepts – the mega proxy problem <ul><li>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 </li></ul>
  9. 9. Advanced Concepts <ul><li>Delayed Binding </li></ul><ul><li>Delayed binding is this process of delaying the </li></ul><ul><li>binding of a TCP connection to a server until </li></ul><ul><li>after the application request is received. </li></ul><ul><li>Cookie Switching </li></ul><ul><li>Reading the cookie information to solve the </li></ul><ul><li>Mega proxy problem </li></ul>
  10. 10. Application - Global Server Load Balancing <ul><li>Domain Naming Service </li></ul><ul><li>Positioning the GSLB </li></ul><ul><ul><li>Not to affect the existing flow </li></ul></ul><ul><ul><li>Site selection </li></ul></ul>
  11. 11. Application - GSLB <ul><li>Site selection based on the following [2] </li></ul><ul><ul><li>Site health conditions </li></ul></ul><ul><ul><li>Site response time </li></ul></ul><ul><ul><li>Site Loading time </li></ul></ul>
  12. 12. Application – Web Caching <ul><li>Caches can be installed and utilized with the Load balancers in the following ways [2] </li></ul><ul><ul><li>Forward proxy for client acceleration </li></ul></ul><ul><ul><li>Transparent proxy for client acceleration </li></ul></ul><ul><ul><li>Reverse proxy for server acceleration </li></ul></ul><ul><ul><li>Transparent reverse proxy for server acceleration </li></ul></ul>
  13. 13. Application – Web Caching <ul><li>Transparent reverse proxy for server acceleration [2] </li></ul>
  14. 14. Load Balancing in Java <ul><li>Load Balancing for Servlets and JSPs </li></ul><ul><li>Load Balancing for EJBs and RMI Objects </li></ul><ul><li>Load Balancing for JDBC Connections </li></ul>
  15. 15. Load balancing in Java – Servlets and JSPs <ul><li>Load Balancing with a Proxy Plug-in </li></ul><ul><ul><li>Weblogic proxy plug-in maintains as list of web logic servlet and JSP instances </li></ul></ul><ul><ul><li>Forwards the HTTP request to those cached instances in round-robin method </li></ul></ul><ul><ul><li>Some webservers and associated proxies </li></ul></ul><ul><ul><ul><li>Weblogic server & HTTPClusterServlet </li></ul></ul></ul><ul><ul><ul><li>Apache with Apache proxy plug-ins </li></ul></ul></ul><ul><ul><ul><li>Microsoft IIS with IIS plugins </li></ul></ul></ul>
  16. 16. Load balancing in Java – EJB’s and RMI’s <ul><li>The Object instances stored in the stubs [1] </li></ul><ul><li>Techniques </li></ul><ul><ul><li>Round Robin Load Balancing </li></ul></ul><ul><ul><li>Weight-Based Load Balancing </li></ul></ul><ul><ul><li>Random Load Balancing </li></ul></ul>
  17. 17. Load balancing in Java – EJB’s and RMI’s <ul><li>Round Robin Load Balancing </li></ul><ul><ul><li>Server instances called in order </li></ul></ul><ul><ul><li>Simple and cheap are the advantages </li></ul></ul><ul><ul><li>If one is slow others will be affected </li></ul></ul><ul><li>Weight based load balancing </li></ul><ul><ul><li>Weighted in scale of 1-100 depending on the load managed by server </li></ul></ul><ul><ul><li>Load distributed accordingly </li></ul></ul><ul><li>Random Load Balancing </li></ul><ul><ul><li>Does not discrete difference in processing and assumes homogenous systems </li></ul></ul><ul><ul><li>Overhead in generating random number </li></ul></ul><ul><ul><li>simple </li></ul></ul>
  18. 18. Load balancing in Java – JDBC Connection <ul><li>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]. </li></ul><ul><li>Multipool has an ordered lit of connection pool that routes the connection </li></ul><ul><li>Default the first connection pool if not run in load balancing mode </li></ul>
  19. 19. References <ul><li>Load Balancing in Java [1] </li></ul><ul><li> </li></ul><ul><li>load_balancing.html#1043771 </li></ul><ul><li>Other references on load balancing from [2] </li></ul><ul><li>Load Balancing Servers,Firewalls, and Caches by Chandra Kopparapu </li></ul><ul><li>Wiki – Load Balancing [3] </li></ul><ul><li> </li></ul>