AWS Certified Solutions Architect Associate SAA-C03 Practice Question
An online video streaming service is being developed with a focus on high availability and the ability to scale quickly during peak viewing times. The service should efficiently handle user authentication and maintain session information for millions of concurrent streams. To facilitate rapid scaling and resilience, how should the session management component of the video streaming service be architected?
Design the service to store session information in client-side cookies or local storage, with servers only processing the stream data, thus relying on the client to maintain its own state.
Implement the service with a user session affinity strategy to direct requests to specific server instances that handle the sessions, ensuring that each user remains connected to the same server instance.
It should be a stateless component that stores session data in a centralized in-memory data store suitable for high concurrency, allowing any instance to handle user authentication and session information.
Make the service a stateful component that stores session data locally on the server, ensuring data persistence and direct user-to-server connection for the duration of the session.
The session management component of a video streaming service should be architected as a stateless workload. By keeping session state management separate from the service itself, typically by using a distributed cache or an external datastore, you ensure that any instance of the session management service can serve any request. This configuration simplifies scaling because new instances can be added or removed without affecting session continuity. It is also more resilient to failures because if an instance fails, another instance can take over without loss of session information. A stateful service, in contrast, would store session data locally, complicating scaling and reducing fault tolerance, as loss of a single instance could result in lost session data. Architecting the service as stateless also prevents the need to implement complex data replication and consistency mechanisms required by a fully distributed state or hybrid approach.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What does it mean for a component to be stateless in the context of session management?
Open an interactive chat with Bash
What kind of centralized in-memory data store can be used for session management, and why is it suitable?
Open an interactive chat with Bash
What are the drawbacks of a stateful session management approach?