Load Sharing and Balancing


Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

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>http://e-docs.bea.com/wls/docs81/cluster/ </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>http://en.wikipedia.org/wiki/Load_balancing </li></ul>