Updated: Jun 3
Design a video streaming service like Netflix, Amazon Prime, Youtube. For your Netflix system design you can assume our platform needs to support a total 1 billion users, with 500 million being daily active users.
Our platform should allow users to upload videos.
Users should be able to watch videos on our platform.
Users should be able to search for videos.
User should be able to see likes/dislikes, view count for videos.
Our system should be reliable (We should make sure uploaded videos are not lost).
Low latency (Users should not experience lag while watching videos).
Consistency is important, but not at the cost of availability. It's okay if one user sees a video little later than the other user.