What all the parameters can be used for stickiness across different data centers via Cisco
GSS. Is cookie stickiness possible.
We are planning to implement an Active/Active site and the
internet user requests will be load balanced across two sites. Since most of the users use ADSL connections, the source IPs are dynamic and changes within minutes and even seconds. If the stickiness would be configured based on IPs on the GSS, the sessions would be lost due to continuous IP changes and the user would be randomly directed to different data centers.
Please suggest how could stickiness be achieved without IPs.
Stickiness on the GSS is based on IP address. There is local sticky, which means each GSS in the cluster maintains its own sticky database and doesn't share it with the other GSS in the cluster. Global sticky is when each still has its own sticky database, but they update each GSS in the cluster so that if a request comes into a different GSS from the same host IP and requests the same domain, it will still be stuck to the same Answer.
It does not matter if your clients are frequently changing their IP addresses, because an Internet user's IP address is not used, or known, by the GSS. To the GSS, a client is actually an Internet user's D-proxy, or local DNS server. Here's how it works:
So as you can see, the Internet user's IP address has no relevance to the GSS's operation.
I hope this helps. Let me know if you have any questions.
Thanks for the explanation.
Our web portal will only be used by the residents in one country and there are only two ISPs possibly with two client-D proxy IP addresses. In this case, GSLB via GSS in the method you have mentioned may not evenly/proportionately load balance across the data centers. That is, all internet users will be coming through two ISPs only.
I forgot to add in my original response that the GSS also takes into account the domain that is being requested. So let's say D-Proxy 10.10.1.20 makes a request for www.ABC.com and it arrives at the GSS. The GSS will check to see if it already has a sticky for this client D-Proxy AND this domain. If it does, it will return the same Answer. Now if a new request comes from the same D-Proxy 10.10.1.20 but for a different domain, say www.XYZ.com, then it will be re-load balanced, then another sticky entry will be made.
So it is not that all requests that come from the same D-Proxy will always get the same Answer. The GSS will create sticky entries based on unique combinations of D-Proxy IP Address/Requested Domain. This should give you a pretty good load balancing distribution, assuming the two ISPs are fairly equal.
You can find more details on how sticky works on the GSS by reading the GSS Sticky Overview chapter in the documentation.
Does this help?
In our case only single domain would be used. Is there any other way by which stickiness could be maintained on something more decomposible than Client D Proxy IP to achieve a more even balance. Cookie I believe should do a job if it were available.
Cookies are only used in HTTP traffic. They are not available in DNS packets and therefore, the GSS would never receive a cookie from a D-Proxy or submit one in its DNS response to a D-Proxy. Only after a client is sent to one site or another would either a server or load balancer send the client a cookie for local sticky at that data center. Cookies are not used in GSLB.
One option might be to send all clients from ISP-1 to Site-1, and then send them to Site-2 if Site-1 goes down. And, in reverse, you could send all clients from ISP-2 to Site-2, and then send them to Site-1 only if Site-2 goes down. This way, both Sites 1 and 2 will be active for one ISP's traffic, and the other Site will serve as a backup for an ISP.
You could accomplish this by using source-Address lists on the GSS to send D-Proxy requests from ISP-1 to Site-1, and vice-versa.
Would this work for you?
I think this is the only option now and I will attempt it.
Is the source address list really required as the default round robin would take each ISP to a different site.
Here's one way to accomplish this:
Let me know if you have any questions.
If I were to load balance an ISP on two sites, how can it be achieved if load balancing occurs on Client-D proxy as well. An ISP may have several Client-D proxies. And it is not necessary that the ISP uses the same Client-D proxy for every request from the same user. In this case, how can I ensure that the same user continues to hit the same site.
If you want users of a single ISP to be stuck to the same site, and those users may use multiple D-Proxies, then you would need to make sure that all of those D-Proxies were within the same sticky subnet in the GSS configuration. To do this, you would need to find out the IP subnet(s) of the ISP's D-Proxies so that you can determine the best sticky mask to use in the GSS sticky configuration.
Hope this helps,