« Previous Next »

Thread: AAR routing / cookie / query string values

Last post 09-26-2009 11:56 AM by serverintellect_BM. 3 replies.

Average Rating Rate It (5)

RSS

Page 1 of 1 (4 items)

Sort Posts:

  • 09-26-2009, 7:17 AM

    • niro
    • Not Ranked
    • Joined on 09-26-2009, 11:04 AM
    • Posts 2

    AAR routing / cookie / query string values

    Hi there, i have just "discovered" the AAR module and have some questions that im doubtful about.

    I would like to migrate our current IIS 6 farm with NLB to the new IIS7 environment and are wondering if it is possible to achive the following. To note is that our servers are mainly servinig mobile phone content / WAP pages were we cannot trust that thet devices have cookie support or have it enabled.

    1. I want to have Load balancing with server affinity.
    I would like to have my server affinity set by either a cookie value or if not found, that the value for which server should handle the request can be found in the URL or / querystring. Is this possible, to write somekind of custom logic to find the server that should serve the request, e.g.

    if(servername is found in cookie)
        send request to server in cookie value
    else if(servername is in part of the URL)
        send request to server in part of the URL
    else if(servername is found in the querystring)
        send request to server in the querystring
    else
        send to server with least load at the moment.

    2. I want to have Fail over if one of my server / application goes down.
    If  one of my servers in the cluster is down, or if the a web application is down that the server would fail over to a secondary server. Thus, it is not enough that IIS are testing if the server is up and running, i also need to have some kind of test that the web application is up and running, e.g. a ping to a well known page and test for HTTP status 200.

    Best Regards
    Niclas Rothman

  • 09-26-2009, 10:21 AM In reply to

    Re: AAR routing / cookie / query string values

    Hello Niclas!

    I've been poking around and experimenting with the Application Request Routing release, and it looks like it can handle both of your requests without much hassle. The ARR can either handle URL Rewrite-based application routing rules (which includes support for checking and parsing cookies.) Alternatively, it can place a cookie on the client machine when the initial request is made to determine affinity, as well as determine hostnames. However, for the specific scenario you're describing, the URL Rewrite module functionality will likely provide the results you're looking for.

    As for health checks, those can certainly do exactly what you're requesting. You can set a URL, test interval, timeout duration, acceptable status codes, and even a regex response match.

    Reading on the ARR: http://learn.iis.net/page.aspx/486/http-load-balancing-using-application-request-routing/

    Reading on URL Rewriting: http://learn.iis.net/page.aspx/460/using-url-rewrite-module/

    Hope this helps out!

  • 09-26-2009, 11:39 AM In reply to

    • niro
    • Not Ranked
    • Joined on 09-26-2009, 11:04 AM
    • Posts 2

    Re: AAR routing / cookie / query string values

    Hi there and many thanks for your time and effort.

    I have looked at the links that you provided but i getting a bit unsure if it is really possilbe to do health checks on a web application level. To me the health check seems to be on a server level, or have i missunderstood it?

     

  • 09-26-2009, 11:56 AM In reply to

    Re: AAR routing / cookie / query string values

    Niclas,

     I can understand your concern! However, I can verify that the health check can easily be based on a request for a web resource ( a static html test page created for the purpose, for example), compared to a list of acceptable error codes or even text matching in the returned request.

    Please let me know if this is not what you're referring to, but it seems to be the proper functionality. Personally, it's pretty exciting all in all! Hopefully it'll be able to perform near the level of Microsoft NLB, as the amount of customization available is quite astounding.

     EDIT: For a specific example of the Health Check feature, under the first link I provided, 'Step 2' covers the Health Check section of ARR, and describes setting a sample check based on a request for a web hosted text file, and comparing the results to a simple phrase.

Page 1 of 1 (4 items)
Microsoft Communities