Bird
0
0

Which design choice best ensures scalability and user customization?

hard📝 Trade-off Q15 of 15
LLD - Design — Library Management System
You need to design a notification system that supports millions of users with personalized preferences and multiple delivery channels. Which design choice best ensures scalability and user customization?
AUse a centralized notification service with a single queue and fixed delivery channels
BStore all user preferences in a local file on the notification server
CImplement distributed notification services with sharded queues and dynamic delivery channel selection per user
DSend notifications synchronously from event producers directly to users
Step-by-Step Solution
Solution:
  1. Step 1: Consider scalability requirements

    Millions of users require distributed services and sharded queues to handle load without bottlenecks.
  2. Step 2: Address user customization needs

    Dynamic delivery channel selection per user allows personalized notifications respecting preferences.
  3. Step 3: Evaluate other options

    Centralized service and single queue create bottlenecks; synchronous sending blocks processing; local files do not scale or support dynamic preferences.
  4. Final Answer:

    Implement distributed notification services with sharded queues and dynamic delivery channel selection per user -> Option C
  5. Quick Check:

    Distributed + dynamic preferences = scalable & customizable [OK]
Quick Trick: Distribute services and shard queues for scale and flexibility [OK]
Common Mistakes:
MISTAKES
  • Choosing centralized design causing bottlenecks
  • Using synchronous sending blocking system
  • Storing preferences in non-scalable local files

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More LLD Quizzes