Difference between session affinity and sticky session?

load-balancing, session

Solution

I've seen those terms used interchangeably, but there are different ways of implementing it:

- Send a cookie on the first response and then look for it on subsequent ones. The cookie says which real server to send to. Bad if you have to support cookie-less browsers

- Partition based on the requester's IP address. Bad if it isn't static or if many come in through the same proxy.

- If you authenticate users, partition based on user name (it has to be an HTTP supported authentication mode to do this).

- Don't require state. Let clients hit any server (send state to the client and have them send it back) This is not a sticky session, it's a way to avoid having to do it.

I would suspect that sticky might refer to the cookie way, and that affinity might refer to #2 and #3 in some contexts, but that's not how I have seen it used (or use it myself)

Problem

What is the difference between session affinity and sticky session in context of load balancing servers?

Original source