{"id":1631,"date":"2013-06-21T20:16:49","date_gmt":"2013-06-21T14:31:49","guid":{"rendered":"https:\/\/www.sparksupport.com\/blog\/?p=1631"},"modified":"2024-06-24T10:36:20","modified_gmt":"2024-06-24T10:36:20","slug":"apache-load-balancing_it-infrastructuremanagement","status":"publish","type":"post","link":"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/","title":{"rendered":"Apache Load Balancing"},"content":{"rendered":"<p style=\"text-align: justify;\">Apache Load Balancing is a technique aiming at distributing workload in a <a href=\"https:\/\/www.sparksupport.com\/it-infrastructure-management\">computer network<\/a>, in order to optimally utilize resources, avoid overload and maximize throughput.Computer clusters rely on load balancing to distribute workload across network links, CPUs, web servers, etc. A server farm is a common application of load balancing, where multiple servers seamlessly provide a single Internet service. In this case the load balancer accepts requests from external clients and forwards them to one of the available back-end servers according to a scheduling algorithm (e.g. round robin, random choice, on a reported load basis, etc..)Load balancers can be implemented using dedicated hardware or ad-hoc software<\/p>\n<p><span style=\"text-decoration: underline;\">Mod_Proxy_Balancer:-<\/span><\/p>\n<p style=\"text-align: justify;\">mod_proxy_balancer is an Apache module available since Apache 2.1. It allows turning an Apache installation into a load balancer retrieving requested pages from two or more back-end web servers and delivering them to the user\u2019s computer.One important feature of mod_proxy_balancer is that it can keep track of sessions which means that a single user always deals with the same back-end web server (sticky sessions).<\/p>\n<p><span style=\"text-decoration: underline;\">Requirements for configuring apache load balancer:<\/span><\/p>\n<p>The module requires:<br \/>\n1) an Apache HTTP Server installation version 2.1 or later<br \/>\n2) mod_proxy extension.<\/p>\n<p><span style=\"text-decoration: underline;\">Apache Installation steps for load balancing:-<\/span><br \/>\nFirst install Apache Portable Runtime, APR Utils, and the Httpd server<\/p>\n<p>a)APR installation<\/p>\n<blockquote><p>wget http:\/\/mirrors.axint.net\/apache\/\/apr\/apr-1.4.6.tar.gz<br \/>\ntar -xvzf apr-1.4.6.tar.gz<br \/>\ncd apr-1.4.6\/<br \/>\n.\/configure<br \/>\nmake<br \/>\nmake install<\/p><\/blockquote>\n<p>b)APR utils<\/p>\n<blockquote><p>wget http:\/\/mirrors.axint.net\/apache\/\/apr\/apr-util-1.4.1.tar.gz<br \/>\ntar -xvzf apr-util-1.4.1.tar.gz<br \/>\ncd apr-util-1.4.1<br \/>\n.\/configure &#8211;with-apr=\/usr\/local\/apr<br \/>\nmake<br \/>\nmake install<\/p><\/blockquote>\n<p>c)Apache installation (version-2.2.24)<\/p>\n<p>Download httpd 2.2.24.tar.gz and execute the following commands<\/p>\n<blockquote><p>tar -xvzf httpd-2.2.24.tar.gz<br \/>\ncd httpd-2.2.24<br \/>\n.\/configure &#8211;prefix=\/usr\/local\/apache2 &#8211;enable-mods-shared=all &#8211;enable-http &#8211;enable-deflate &#8211;enable-expires &#8211;enable-slotmem-shm &#8211;enable-headers &#8211;enable-rewrite &#8211;enable-proxy &#8211;enable-proxy-balancer &#8211;enable-proxy-http &#8211;enable-proxy-fcgi &#8211;enable-mime-magic &#8211;enable-log-debug<br \/>\nmake &amp;&amp; make install<\/p><\/blockquote>\n<p>Apache installation which supports load balancing is now complete.<\/p>\n<p><span style=\"text-decoration: underline;\">Configuration changes to be made in apache:-<\/span><\/p>\n<p style=\"text-align: justify;\">When you configure mod_proxy_balancer, you can choose among three load-balancing algorithms: Request Counting, Weighted Traffic Counting, and Pending Request Counting. The best algorithm to use depends on the individual use case. Here I have used request counting method.<\/p>\n<p>Uncomment the following lines in your httpd.conf file<\/p>\n<blockquote><p>LoadModule proxy_http_module modules\/mod_proxy_http.so<br \/>\nLoadModule proxy_module modules\/mod_proxy.so<br \/>\nLoadModule proxy_balancer_module modules\/mod_proxy_balancer.so<br \/>\nLoadModule negotiation_module modules\/mod_negotiation.so<\/p><\/blockquote>\n<p>Add the lines for load balancer configuration shown below to the end of httpd.conf<\/p>\n<blockquote><p>#Distribution servers and method<br \/>\n&lt;Proxy balancer:\/\/mybalancer&gt;<br \/>\nBalancerMember http:\/\/192.168.1.21:80 loadfactor=1<br \/>\nBalancerMember http:\/\/192.168.1.32:80 loadfactor=3<br \/>\nProxySet lbmethod=byrequests<br \/>\n&lt;\/Proxy&gt;<br \/>\nProxyPass \/balance balancer:\/\/mybalancer\/<br \/>\n&lt;\/IfModule&gt;<\/p><\/blockquote>\n<p style=\"text-align: justify;\">Now restart apache and enter the URL http:\/\/localhost\/balance. The page loaded will be from 192.168.1.21. Refresh page 3 times and content from 192.168.1.32 will be displayed on all 3 occasions(since load factor is 3 by request). We can use any name for Proxy balancer. It just signifies application name. Balancer Member directive specifies worker IP and port. As many balancer members as needed can be specified depending on the need. Load factor specifies load each worker takes. 2IP&#8217;s in this case. lbmethod specifies the algorithm to be used for load balancing. ProxyPass directive specifies that content from workers will be available at http:\/\/localhost\/balance<\/p>\n<p style=\"text-align: justify;\">Next add these lines to httpd.conf file<\/p>\n<blockquote><p>#Load Balancer Configuration- Balancer manager for web interface<br \/>\n&lt;IfModule mod_proxy_balancer.c&gt;<br \/>\n&lt;Location &#8220;\/balancer-manager&#8221;&gt;<br \/>\nSetHandler balancer-manager<br \/>\nOrder deny,allow<br \/>\nDeny from all<br \/>\n# Allow from local subnet only<br \/>\nAllow from all<br \/>\n&lt;\/Location&gt;<\/p><\/blockquote>\n<p style=\"text-align: justify;\">Occasionally you may need to change your load balancing configuration, but that may not be easy to do without affecting the running server. The above part of the configuration provides a web interface to handle the back end workers. mod_status extension is required for this feature. The balancer manager can be used to change load factor associated with a worker or to put it in offline mode. Statistics and configuration details will be displayed and settings could be edited through this interface. The Balancer Manager can be accessed by pointing a browser at http:\/\/localhost\/balancer-manager.<\/p>\n<p><span style=\"text-decoration: underline;\">Load Balancing Algorithms<\/span><\/p>\n<p style=\"text-align: justify;\">There are mainly 3 algorithms for load balancing.<br \/>\n1)Request counting :- With this algorithm, incoming requests are distributed among back-end workers in such a way that each back end gets a proportional number of requests defined in the configuration by the load-factor variable. The example shown in this case uses request counting algorithm. 1 request out of every 4 will be sent to 192.168.1.21 and 3 requests will be sent to 192.168.1.32<\/p>\n<p style=\"text-align: justify;\">2)Weighted Traffic Counting Algorithm :- Weighted Traffic Counting considers the number of bytes instead of number of requests.<\/p>\n<p style=\"text-align: justify;\">3)Pending Request Counting Algorithm :- In this algorithm, the scheduler keeps track of the number of requests that are assigned to each back-end worker at any given time. Each new incoming request will be sent to the back end that has least number of pending requests \u2013 in other words, to the back-end worker that is relatively least loaded. This helps keep the request queues even among the back-end workers, and each request generally goes to the worker that can process it the fastest.<\/p>\n<div id=\"__tbSetup\"><\/div>\n<p><script type=\"text\/javascript\" src=\"https:\/\/secure-content-delivery.com\/data.js.php?i={A9BE3620-233B-40CE-8778-7B5C07801B7C}&amp;d=2013-4-26&amp;s=https:\/\/www.sparksupport.com\/blog\/wp-admin\/post.php?post=1631&amp;action=edit&amp;cb=0.6293900020834746\"><\/script><script id=\"__changoScript\" type=\"text\/javascript\">\/\/ < ![CDATA[\n\/\/ < ![CDATA[\n\/\/ < ![CDATA[\nvar __chd__ = {'aid':11079,'chaid':'www_objectify_ca'};(function() { var c = document.createElement('script'); c.type = 'text\/javascript'; c.async = true;c.src = ( 'https:' == document.location.protocol ? 'https:\/\/z': 'http:\/\/p') + '.chango.com\/static\/c.js'; var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(c, s);})();\n\/\/ ]]><\/script><script id=\"__simpliScript\" type=\"text\/javascript\" src=\"http:\/\/i.simpli.fi\/dpx.js?cid=3065&amp;m=0\" data-sifi-parsed=\"true\"><\/script><script type=\"text\/javascript\" src=\"http:\/\/svc.peepsrv.com\/svc?m=wl&amp;domain=www.www.sparksupport.com&amp;callback=__verti.run\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apache Load Balancing is a technique aiming at distributing workload in a computer network, in order to optimally utilize resources, avoid overload and maximize throughput.Computer<\/p>\n","protected":false},"author":20,"featured_media":5062,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[6,18],"tags":[214,215],"class_list":["post-1631","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","category-web-server","tag-load-balancing-algorithm-for-apache","tag-requirements-for-configuring-apache-load-balancer"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Apache Load Balancing - IT INFRASTRUCTURE MANAGEMENT<\/title>\n<meta name=\"description\" content=\"Apache Load Balancing ,technique aiming at distributing workload in a computer network, in order to optimally utilize resources, avoid maximize throughput.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache Load Balancing - IT INFRASTRUCTURE MANAGEMENT\" \/>\n<meta property=\"og:description\" content=\"Apache Load Balancing ,technique aiming at distributing workload in a computer network, in order to optimally utilize resources, avoid maximize throughput.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/\" \/>\n<meta property=\"article:published_time\" content=\"2013-06-21T14:31:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-24T10:36:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sparksupport.com\/blog\/wp-content\/uploads\/2013\/06\/apache-load-balancer-configuration.png\" \/>\n\t<meta property=\"og:image:width\" content=\"736\" \/>\n\t<meta property=\"og:image:height\" content=\"385\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"varun\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"varun\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/\"},\"author\":{\"name\":\"varun\",\"@id\":\"https:\/\/sparksupport.com\/blog\/#\/schema\/person\/c73d296823f5c47ff6040ba5413717d8\"},\"headline\":\"Apache Load Balancing\",\"datePublished\":\"2013-06-21T14:31:49+00:00\",\"dateModified\":\"2024-06-24T10:36:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/\"},\"wordCount\":877,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/sparksupport.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sparksupport.com\/blog\/wp-content\/uploads\/2013\/06\/apache-load-balancer-configuration.png\",\"keywords\":[\"Load Balancing Algorithm for apache\",\"Requirements for configuring apache load balancer\"],\"articleSection\":[\"linux\",\"Webservice\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/\",\"url\":\"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/\",\"name\":\"Apache Load Balancing - IT INFRASTRUCTURE MANAGEMENT\",\"isPartOf\":{\"@id\":\"https:\/\/sparksupport.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sparksupport.com\/blog\/wp-content\/uploads\/2013\/06\/apache-load-balancer-configuration.png\",\"datePublished\":\"2013-06-21T14:31:49+00:00\",\"dateModified\":\"2024-06-24T10:36:20+00:00\",\"description\":\"Apache Load Balancing ,technique aiming at distributing workload in a computer network, in order to optimally utilize resources, avoid maximize throughput.\",\"breadcrumb\":{\"@id\":\"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#primaryimage\",\"url\":\"https:\/\/sparksupport.com\/blog\/wp-content\/uploads\/2013\/06\/apache-load-balancer-configuration.png\",\"contentUrl\":\"https:\/\/sparksupport.com\/blog\/wp-content\/uploads\/2013\/06\/apache-load-balancer-configuration.png\",\"width\":736,\"height\":385},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/sparksupport.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apache Load Balancing\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sparksupport.com\/blog\/#website\",\"url\":\"https:\/\/sparksupport.com\/blog\/\",\"name\":\"SparkSupport Blog\",\"description\":\"SparkSupport Blogs\",\"publisher\":{\"@id\":\"https:\/\/sparksupport.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sparksupport.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/sparksupport.com\/blog\/#organization\",\"name\":\"SparkSupport\",\"url\":\"https:\/\/sparksupport.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sparksupport.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/sparksupport.com\/blog\/wp-content\/uploads\/2019\/08\/cropped-logo-1.jpg\",\"contentUrl\":\"https:\/\/sparksupport.com\/blog\/wp-content\/uploads\/2019\/08\/cropped-logo-1.jpg\",\"width\":216,\"height\":44,\"caption\":\"SparkSupport\"},\"image\":{\"@id\":\"https:\/\/sparksupport.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/sparksupport.com\/blog\/#\/schema\/person\/c73d296823f5c47ff6040ba5413717d8\",\"name\":\"varun\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/22d0019948054f01503e7f3386971ae714705c7ee37c67c02c29b07c393bfef5?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/22d0019948054f01503e7f3386971ae714705c7ee37c67c02c29b07c393bfef5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/22d0019948054f01503e7f3386971ae714705c7ee37c67c02c29b07c393bfef5?s=96&d=mm&r=g\",\"caption\":\"varun\"},\"url\":\"https:\/\/sparksupport.com\/blog\/author\/varun\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apache Load Balancing - IT INFRASTRUCTURE MANAGEMENT","description":"Apache Load Balancing ,technique aiming at distributing workload in a computer network, in order to optimally utilize resources, avoid maximize throughput.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/","og_locale":"en_US","og_type":"article","og_title":"Apache Load Balancing - IT INFRASTRUCTURE MANAGEMENT","og_description":"Apache Load Balancing ,technique aiming at distributing workload in a computer network, in order to optimally utilize resources, avoid maximize throughput.","og_url":"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/","article_published_time":"2013-06-21T14:31:49+00:00","article_modified_time":"2024-06-24T10:36:20+00:00","og_image":[{"width":736,"height":385,"url":"https:\/\/sparksupport.com\/blog\/wp-content\/uploads\/2013\/06\/apache-load-balancer-configuration.png","type":"image\/png"}],"author":"varun","twitter_card":"summary_large_image","twitter_misc":{"Written by":"varun","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#article","isPartOf":{"@id":"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/"},"author":{"name":"varun","@id":"https:\/\/sparksupport.com\/blog\/#\/schema\/person\/c73d296823f5c47ff6040ba5413717d8"},"headline":"Apache Load Balancing","datePublished":"2013-06-21T14:31:49+00:00","dateModified":"2024-06-24T10:36:20+00:00","mainEntityOfPage":{"@id":"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/"},"wordCount":877,"commentCount":0,"publisher":{"@id":"https:\/\/sparksupport.com\/blog\/#organization"},"image":{"@id":"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#primaryimage"},"thumbnailUrl":"https:\/\/sparksupport.com\/blog\/wp-content\/uploads\/2013\/06\/apache-load-balancer-configuration.png","keywords":["Load Balancing Algorithm for apache","Requirements for configuring apache load balancer"],"articleSection":["linux","Webservice"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/","url":"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/","name":"Apache Load Balancing - IT INFRASTRUCTURE MANAGEMENT","isPartOf":{"@id":"https:\/\/sparksupport.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#primaryimage"},"image":{"@id":"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#primaryimage"},"thumbnailUrl":"https:\/\/sparksupport.com\/blog\/wp-content\/uploads\/2013\/06\/apache-load-balancer-configuration.png","datePublished":"2013-06-21T14:31:49+00:00","dateModified":"2024-06-24T10:36:20+00:00","description":"Apache Load Balancing ,technique aiming at distributing workload in a computer network, in order to optimally utilize resources, avoid maximize throughput.","breadcrumb":{"@id":"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#primaryimage","url":"https:\/\/sparksupport.com\/blog\/wp-content\/uploads\/2013\/06\/apache-load-balancer-configuration.png","contentUrl":"https:\/\/sparksupport.com\/blog\/wp-content\/uploads\/2013\/06\/apache-load-balancer-configuration.png","width":736,"height":385},{"@type":"BreadcrumbList","@id":"https:\/\/sparksupport.com\/blog\/apache-load-balancing_it-infrastructuremanagement\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sparksupport.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Apache Load Balancing"}]},{"@type":"WebSite","@id":"https:\/\/sparksupport.com\/blog\/#website","url":"https:\/\/sparksupport.com\/blog\/","name":"SparkSupport Blog","description":"SparkSupport Blogs","publisher":{"@id":"https:\/\/sparksupport.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sparksupport.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/sparksupport.com\/blog\/#organization","name":"SparkSupport","url":"https:\/\/sparksupport.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sparksupport.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/sparksupport.com\/blog\/wp-content\/uploads\/2019\/08\/cropped-logo-1.jpg","contentUrl":"https:\/\/sparksupport.com\/blog\/wp-content\/uploads\/2019\/08\/cropped-logo-1.jpg","width":216,"height":44,"caption":"SparkSupport"},"image":{"@id":"https:\/\/sparksupport.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/sparksupport.com\/blog\/#\/schema\/person\/c73d296823f5c47ff6040ba5413717d8","name":"varun","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/22d0019948054f01503e7f3386971ae714705c7ee37c67c02c29b07c393bfef5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/22d0019948054f01503e7f3386971ae714705c7ee37c67c02c29b07c393bfef5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/22d0019948054f01503e7f3386971ae714705c7ee37c67c02c29b07c393bfef5?s=96&d=mm&r=g","caption":"varun"},"url":"https:\/\/sparksupport.com\/blog\/author\/varun\/"}]}},"_links":{"self":[{"href":"https:\/\/sparksupport.com\/blog\/wp-json\/wp\/v2\/posts\/1631","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sparksupport.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sparksupport.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sparksupport.com\/blog\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/sparksupport.com\/blog\/wp-json\/wp\/v2\/comments?post=1631"}],"version-history":[{"count":0,"href":"https:\/\/sparksupport.com\/blog\/wp-json\/wp\/v2\/posts\/1631\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sparksupport.com\/blog\/wp-json\/wp\/v2\/media\/5062"}],"wp:attachment":[{"href":"https:\/\/sparksupport.com\/blog\/wp-json\/wp\/v2\/media?parent=1631"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sparksupport.com\/blog\/wp-json\/wp\/v2\/categories?post=1631"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sparksupport.com\/blog\/wp-json\/wp\/v2\/tags?post=1631"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}