11 Comments
Sep 18Liked by Ashish Pratap Singh

This was quite amazing and super super helpful. I am an experienced coder but have not had many opportunities to design high scale systems at work or in practice so this is going to help me a ton.

Expand full comment
author

Really happy to hear this, thank you so much!

Expand full comment
Sep 20Liked by Ashish Pratap Singh

Impressive! You are truly a gem. Thank you for dedicating your time and sharing such valuable content with crystal-clear clarity.

Expand full comment
author

Thank you 😊

Love to hear this.

Expand full comment
Sep 18Liked by Ashish Pratap Singh

Great content brother

Expand full comment
author

thank you!

Expand full comment
Sep 18Liked by Ashish Pratap Singh

Thanks for sharing.

Expand full comment
author

you are welcome!

Expand full comment

Ashish,

This is awesome content. Just few points to add on if you agree:

1) Syncing mechanisms between Cache and User Preferences NoSQL db to ensure consistency

2) How does Cache payload look like along with the key

3) Cache TTL, eviction strategy, invalidation strategy, cache writing strategy, dealing with a data level conflict (discrepancy between current cache and NoSQL db entry)

4) Deduplication of notification so that users don’t get same notification again

Expand full comment

Great insights. This article helps how to think widely considering every aspect while designing a scalable and reliable system. Can you provide some example for scheduler service readily available to use? Also, you can provide a deeper explanation of how a scheduler service should be designed.

Expand full comment

How will you partition the Kafka topics to support such a large workload? Also, we are sending large email attachments on the Kafka queue, won't this affect the performance, anything we can do to mitigate it?

Expand full comment