Bird
Raised Fist0
HLDsystem_design~5 mins

Sticky sessions in HLD - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What are sticky sessions in load balancing?
Sticky sessions ensure that a user's requests are always sent to the same server during a session, maintaining session state on that server.
Click to reveal answer
beginner
Why are sticky sessions used in web applications?
They are used to keep user session data consistent by routing all requests from the same user to the same server, avoiding session data loss.
Click to reveal answer
intermediate
Name two common methods to implement sticky sessions.
1. Using cookies to track the server assigned to a user.
2. Using IP address affinity to route requests.
Click to reveal answer
intermediate
What is a major drawback of sticky sessions?
They can cause uneven load distribution because some servers may get more users than others, leading to potential performance issues.
Click to reveal answer
advanced
How can sticky sessions affect scalability?
Sticky sessions can limit scalability since users are tied to specific servers, making it harder to distribute load evenly and add or remove servers seamlessly.
Click to reveal answer
What does a sticky session ensure in a load balanced system?
AUser requests are encrypted end-to-end
BUser requests are distributed randomly
CUser requests are sent to the least busy server
DUser requests go to the same server during a session
Which method is commonly used to implement sticky sessions?
AUsing cookies to track server assignment
BEncrypting user data
CRandom server selection
DCaching static content
What is a potential problem caused by sticky sessions?
AIncreased network latency
BUneven load distribution across servers
CLoss of user data
DData encryption failure
Sticky sessions can limit scalability because:
AThey require more bandwidth
BThey encrypt data too much
CUsers are tied to specific servers
DThey use random server selection
Which of these is NOT a way to implement sticky sessions?
ARandom load balancing
BUsing cookies
CIP address affinity
DSession tokens
Explain what sticky sessions are and why they are used in load balanced systems.
Think about how a website remembers you during your visit.
You got /3 concepts.
    Describe the advantages and disadvantages of using sticky sessions.
    Consider both user experience and system performance.
    You got /2 concepts.

      Practice

      (1/5)
      1. What is the main purpose of sticky sessions in system design?
      easy
      A. To keep a user connected to the same server during their session
      B. To distribute user requests evenly across all servers
      C. To store session data in a shared database
      D. To encrypt user data during transmission

      Solution

      1. Step 1: Understand sticky sessions concept

        Sticky sessions ensure that a user's requests go to the same server to maintain session state.
      2. Step 2: Compare with other options

        Options B and C describe load balancing and shared storage, not sticky sessions. To encrypt user data during transmission is about security, unrelated here.
      3. Final Answer:

        To keep a user connected to the same server during their session -> Option A
      4. Quick Check:

        Sticky sessions = same server connection [OK]
      Hint: Sticky sessions keep user-server link constant [OK]
      Common Mistakes:
      • Confusing sticky sessions with load balancing
      • Thinking session data is always shared
      • Assuming sticky sessions encrypt data
      2. Which method is commonly used to implement sticky sessions in a load balancer?
      easy
      A. Randomly assigning servers per request
      B. Encrypting all session data
      C. Caching data in a CDN
      D. Using IP hashing to route requests

      Solution

      1. Step 1: Identify sticky session implementation methods

        IP hashing is a common way to ensure requests from the same user go to the same server.
      2. Step 2: Eliminate unrelated options

        Encrypting data and caching in CDN do not control session routing. Random assignment breaks stickiness.
      3. Final Answer:

        Using IP hashing to route requests -> Option D
      4. Quick Check:

        Sticky sessions use IP hashing [OK]
      Hint: IP hashing helps keep sessions sticky [OK]
      Common Mistakes:
      • Confusing encryption with session routing
      • Thinking CDN caching manages sessions
      • Assuming random server assignment keeps sessions sticky
      3. Consider a load balancer using cookie-based sticky sessions. If a user's first request is routed to Server A, where will the second request go?
      medium
      A. Server B
      B. Server A
      C. Random server
      D. Load balancer itself

      Solution

      1. Step 1: Understand cookie-based sticky sessions

        The load balancer sets a cookie to identify the server handling the user's session.
      2. Step 2: Follow the cookie routing logic

        Subsequent requests with the cookie go to the same server, Server A in this case.
      3. Final Answer:

        Server A -> Option B
      4. Quick Check:

        Cookie sticky sessions route to same server [OK]
      Hint: Cookie keeps user on original server [OK]
      Common Mistakes:
      • Assuming requests go to different servers
      • Thinking load balancer handles requests directly
      • Confusing random routing with sticky sessions
      4. A system uses IP hashing for sticky sessions but users report inconsistent session behavior. What is the most likely cause?
      medium
      A. Users have dynamic IP addresses changing frequently
      B. Session data is stored in a shared database
      C. Load balancer is not configured for SSL
      D. Cookies are disabled in user browsers

      Solution

      1. Step 1: Analyze IP hashing limitations

        IP hashing depends on stable IP addresses to route requests consistently.
      2. Step 2: Identify cause of inconsistency

        Dynamic IPs cause requests to appear from different IPs, breaking stickiness.
      3. Final Answer:

        Users have dynamic IP addresses changing frequently -> Option A
      4. Quick Check:

        Dynamic IPs break IP hashing sticky sessions [OK]
      Hint: Dynamic IPs break IP hashing stickiness [OK]
      Common Mistakes:
      • Blaming shared database for session routing
      • Confusing SSL with session stickiness
      • Assuming cookies affect IP hashing
      5. You design a web app with multiple servers storing session data locally. To ensure users always reach the same server, which approach is best and why?
      hard
      A. Use IP hashing but allow fallback to any server if IP changes
      B. Use a shared database for session storage and random load balancing
      C. Use sticky sessions with cookie-based routing to bind users to servers
      D. Disable sticky sessions and rely on client-side session storage

      Solution

      1. Step 1: Understand session storage setup

        Sessions stored locally require users to connect to the same server to access their data.
      2. Step 2: Evaluate approaches for consistent routing

        Cookie-based sticky sessions reliably bind users to servers, ensuring session continuity.
      3. Step 3: Compare other options

        Shared DB removes need for stickiness but contradicts local storage. IP hashing can fail with IP changes. Client-side storage shifts session responsibility.
      4. Final Answer:

        Use sticky sessions with cookie-based routing to bind users to servers -> Option C
      5. Quick Check:

        Local sessions need sticky cookie routing [OK]
      Hint: Local sessions need cookie sticky routing [OK]
      Common Mistakes:
      • Choosing shared DB when sessions are local
      • Relying on IP hashing despite IP changes
      • Ignoring server session storage needs
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard