18 Comments
Oct 2Liked by Ashish Pratap Singh

Simply superb is the word for this.Very detailed explanation and all stages of system design beautifully covered in the article .Simply love it .Thanks a lot for sharing this .

Expand full comment
author

I'm so happy to hear this, thank you very much for your kind words!

Expand full comment
Oct 13Liked by Ashish Pratap Singh

A very interesting read, I’m loving your system design articles

Expand full comment
Oct 2Liked by Ashish Pratap Singh

Great article Ashish, very detailed.

Is it possible to also include the sequence diagrams for communications between Services or Classes within the system? Like a more granular view.

Just a suggestion !

Article is amazing !

Expand full comment
author

Hey, good suggestion.

This article was mostly high-level design.

I think sequence diagram is more low-level, but will try to cover it in a separate article which focuses on low level design.

Expand full comment
Oct 6Liked by Ashish Pratap Singh

hey ashish could you create a article for high level design for system like yelp.com or uber or ola,because these are related. and loved this article.

Expand full comment
Oct 2Liked by Ashish Pratap Singh

Thanks so much Ashish and looking forward to a low level design article next. Cheers ! Thank you again !

Expand full comment
Oct 2Liked by Ashish Pratap Singh

Detailed breakdown, Ashish!

I think a cache at the client level will also be beneficial, although it comes with the trade-off of maintaining consistency between the different clients.

Thoughts?

Expand full comment
author

Thanks Raul!

I agree that a cache at client level would be helpful specially for offline playback (I have added a line there). But, yeah maintaining consistency would be a bit tricky.

Will try to cover this as part of some other problem.

Expand full comment
Oct 2·edited Oct 2Liked by Ashish Pratap Singh

Superb explanation ! Loved it! Your articles have sparked an interest in me to design systems!

Expand full comment
author

Great to hear this, thank you!

Expand full comment

Where do you create these diagrams? I'm looking for an application to create these diagrams and I can't find any good enough like yours.

Expand full comment

Do we really need centralised service like appservers here? Whats the trade of keeping app service as Facade? Will it not increase the integration complexity with the downstream services and the latency due to addition of a new hop? Why client cant directly integrate with the corresponding microservices and Load balancer can do the redirection based on the application context path? We can avoid this service completely?

Expand full comment

Could've been even better with a code implementation, because after a few scalable systems every system looks exactly the same apart from the initial cost calculations.

Expand full comment

Useful

Expand full comment

Good article but I am not able to understand the reason of doing such lengthy estimation.

Expand full comment

Thank you.

Expand full comment

First of all, this is really good break down. 👏

However, i wanted to know , if there is no CDN and server is directly responsible for sending the songs and ads blob files

How will the things work in that cases

Also, if you can provide the protocols will be used in that case, it will be really helpful.

Also, will statelessness of backend server be impacted in case of no CDN ?

Thanks in Advance !!!

Expand full comment