Recent Posts

    Authors

    Published

    Tag Cloud

    301 302 404 accessibility accounts ACLs advertising aggregation Agile Analytics android APP Article attachments awards backup BCM beta browser business continuity Calendar case-study categories Chrome citigroup cms codes coding standards Complaints contact management software control panel crm CSS customer management software customer relationship system customize database DataModel DDoS demo design designer device compatibility difference distribute a published article via email DND DNS documents drag & drop Editor email EOL erp event Excel featured feeds file manager file sharing file volume Firefox Firewall HA hack Handlebar how-to HTML HTML5 HTTP HTTPS iCal IE Instructions intranet iOS iPad Java JavaScript JDBC JDK Jenkins Job Track Journal JSON JVM landing-page launcher layered database layout logging login mac marketing menu meta Microsoft Outlook mobile module modules mustache navigation NTLM offline page painter password passwords PCI policy poll pricing privacy PROXY publish publisher publsher PWA redirect Redundancy release release-notes Report Tool Reports Responsive ReST RESTFul Rich text RSS Safari sandbox sanity schedule scrum search security SEO sessions setup shipping site builder source spell SQL Injection SSL SSO standards store stSoftware support survey Swagger Task template testimonial Threads timezone tinyMCE Transaction Search trigger twitter twitter bootstrap Ubuntu unit tests unsubscribe URL validation WC3 AAA web folders web services webdav windows 8 wizard workflow WYSIWYG XLS XLST XML XPath XSS

    How to configure DNS round robin for web server failover?

    Round-robin DNS gives cheap and easy load balancing and fault tolerance.

    Server Cluster

    A cluster of servers (two or more ) can be setup and the DNS entry for your site can be defined with the IP addresses for each of the servers, this is known as Round-robin DNS

    DNS round-robin for Web server failover

    • www1 -> 10.0.0.1
    • www2 -> 10.0.0.2
    • www -> 10.0.0.1, 10.0.0.2

    Now the DNS server returns both IP addresses for each www query, in random order. If both web servers are up, obviously no problem. If one is down. the questions are, will the browser try the second IP address. and how long does it wait to do so?

    Ideally the static IP of one server would be from one network provider and the other server IP would be from another network provider. This means we are not reliant on one network provider.

    Successes with modern browsers

    The client browser will choose one of the identical servers. If it can't connect to one then it will try the other.  

    Using recent versions of IE (8 and above), Opera, Safari, Firefox and Chrome. The browser will try one web server and if it can not connect the browser will try the next server, the process is user-transparent, and occurs only if the first server tried times out, and only for the first page requested from our site in any browser session.

    The DNS round robin works best if the server is actually off not just slow/timing out as the modern browser can move to the next very quickly. 

    Failures with obsolete browsers

    Browsers older than IE8 are not supported by the ST web application, but may still be used to view the web sites. Old browsers such as IE7 will only use the first IP address.

    What are the advantages ?

      • Rolling restart of the servers can be done transparently ( restart 1 server a few minutes later the next server).
      • If one server crashes the users will transparently move to the next. 
      • The browser connection is "sticky" which is very important i.e. once the browser connects it will stay connected to the server it originally connected to.

    Is there a downside?

    During periods when one server was down, users of non-switching browsers ( IE7 ) would have a 50% chance of getting the bad server in an individual browser session. The usage of IE7 is now down to below 1% of web traffic for these browsers there is no advantage but a pretty big win for all modern browsers. 

    Note: Users with IE7 are prevented from logging into any ST servers due to the lack of HTML5 support but can be used browse the web sites.

    Example 

    When we do a lookup on google the DNS returns 4 IP addresses:-

    host www.google.com

    www.google.com has address 74.125.237.210
    www.google.com has address 74.125.237.212
    www.google.com has address 74.125.237.208
    www.google.com has address 74.125.237.211
    www.google.com has address 74.125.237.209
    www.google.com has IPv6 address 2404:6800:4006:806::1010

    Repeating the lookup returns a different set of IP addresses:- 

    host www.google.com

    www.google.com has address 74.125.237.177
    www.google.com has address 74.125.237.178
    www.google.com has address 74.125.237.176
    www.google.com has address 74.125.237.180
    www.google.com has address 74.125.237.179
    www.google.com has IPv6 address 2404:6800:4006:806::1011

    Sample setup used for JobTrack.com.au

    DNS for JobTrack