Loading...
Read is crucial for the system, and there is a significant join case, so we can consider a key-value database like DynamoDB for all entities.
How to fanout
For most users, we can use push, while for celebrities and users who has tons of followers, we mark them and their feeds will be delivered when their friends request
Try to discuss as many failure scenarios/bottlenecks as possible.
What are some future improvements you would make? How would you mitigate the failure scenario(s) you described above?