(also session affinity)
Sticky session definition
A sticky session, also known as session affinity, refers to the practice of load balancing where user requests during a session are directed to the same server. This is often used when an application keeps track of a user’s session’s state, which is saved on a specific server.
See also: load balancer
Sticky session examples
- Online shopping: If you add items to your shopping cart on an e-commerce website, a sticky session ensures you interact with the same server that holds your cart information throughout your visit.
- Web-based applications: For instance, a document editing application that autosaves work in progress relies on sticky sessions to keep changes made by the user consistent across page reloads.
Pros and cons of sticky sessions
- User experience: Maintains user data consistency, leading to a smoother user experience.
- Efficiency: Can minimize reprocessing as data remains on a single server, saving on computational resources.
- Scalability: The sticky session approach can pose issues with horizontal scaling. If one server fails, it may disrupt the user experience.
- Load distribution: Sticky sessions may result in uneven load distribution if a particular user creates a higher workload.
Using sticky sessions
- Use sticky sessions only when necessary, such as when session data can’t be replicated across servers.
- Implement session replication or centralized session storage as fail-safe methods to mitigate the risk of server failure.