Affinity, the natural drawing of services to one node over another, is set by selecting Single, Class C, or None. Affinity settings exist because, in today's web culture, business is done over the Internet with millions of customers coming to your web sites (or better yet, e-commerce sites) to shop and do business with you.
A shopper enters a credit card number or wants to make a transaction with your web server. The hope is that you're using highly available architecture. If not, what happens when the server has a hiccup (the server locks up, and so forth), crashes, or if there's a flapping WAN route from your shopper to the server? How does that session pick back up?
Session state is what's kept when shopping, so when you do have these common problems, ways exist to adjust how the client's session state (held with cookies) is handled based on the following settings.
If you set your client affinity to single, then you're selecting the option to have many client requests come to the same clustered node. If you put a web site on a server with an IP address of 188.8.131.52 /24 and want your clients to access the same node each time, then you would set a single affinity.
This would only have an affinity for a single IP address, but what if you want to have multiple web sites with multiple IP addresses? You could then set your affinity to Class C. With Class C affinity, you can set affinity to a class of addresses, so you can specify different IP addresses and affinity will be drawn to any node in that class range, instead of a single IP address.
This is especially helpful when you use proxy servers that might cause the appearance of requests coming from different computers that could disrupt the network load-balancing solution. If this is the case, you also need to make this part of your design, hence, the calling for a topology map and an overview of your infrastructure when preparing the NLB design. Make sure the proxy server(s) are in the same Class C subnet.
Finally, if you set your affinity to None, then you won't use client-based affinity at all. The recommendation is that you use single, unless the need arises to use Class C. Be aware that Class C affinity on an intranet can cripple a NLB machine because all requests will come from the same Class C subnet.
Was this article helpful?