CompTIA Security+ Exam Notes

CompTIA Security+ Exam Notes
Let Us Help You Pass
Showing posts with label Load balancing persistence. Show all posts
Showing posts with label Load balancing persistence. Show all posts

Thursday, December 12, 2024

Achieving Efficient Load Balancing with Session Persistence

 Load Balancing: Persistence

In load balancing, "persistence" (also called "session persistence" or "sticky sessions") refers to a feature where a load balancer directs all requests from a single user to the same backend server throughout their session, ensuring that a user interacts with the same server for consistent experience, especially when an application relies on storing session data locally on the server, like items in a shopping cart or login information; this is achieved by tracking a unique identifier associated with the user, commonly through cookies or their source IP address. 

Key points about persistence in load balancing

Benefits:
  • Improved user experience: By keeping a user on the same server throughout a session, it avoids the need to re-establish the session state on a different server, leading to smoother interactions, particularly for complex applications with multiple steps. 
  • Efficient use of server resources: When a server already has information about a user's session cached, sending subsequent requests to the same server can improve performance. 
How it works:
  • Identifying the user: The load balancer uses a specific attribute, like their source IP address or a cookie set in their browser, to identify a user. 
  • Mapping to a server: Once identified, the load balancer associates the user with a particular backend server and routes all their requests to that server for the duration of the session. 
Persistence methods:
  • Source IP-based persistence: The simplest method uses the user's source IP address to identify them. 
  • Cookie-based persistence: The load balancer sets a cookie on the user's browser, and subsequent requests include this cookie to identify the user. 
Considerations:
  • Scalability concerns: If many users are actively using a service, relying heavily on persistence can strain individual servers as all requests from a user are directed to the same server. 
  • Session timeout: It's important to set a session timeout to automatically release a user from a server after a period of inactivity.
This is covered in Security+.