

We’ll now determine our system’s Queries Per Second (QPS). Based on our 100:1 read/write ratio, we can expect 50 billion redirections during the same period:ġ00 ∗ 500 m i l l i o n = 50 b i l l i o n 100 * 500 million = 50 billion 100 ∗ 500 mi ll i o n = 50 bi ll i o n Traffic estimates: Let’s assume we have 500 million new URL shortenings per month. Our reads are redirection requests and writes are new URL shortenings.

There will be a large number of redirection requests compared to new URL shortenings. Short links will expire after a default timespan, which users can specify. Users should have the option to pick a custom short link for their URL. The short link should redirect users to the original link. Our service will generate a shorter alias of the original URL that can easily be copied and pasted. Shortened links should not be predictable in any manner. URL redirection should happen in real-time with minimal latency. The short links will not function if the service fails. Let’s consider some functional and non-functional requirements for designing TinyURL. This service is useful because short links save space and allow users to easily type abbreviated URLs instead of long ones. Users select these shortened URLs and are redirected to the original URL. TinyURL is a URL shortening web service that creates shorter aliases for long URLs. You’re in the right place if you’re here to prepare for a system design interview.

Today, we’ll apply system design principles by approaching two common system design interview questions: designing TinyURL and Instagram.
#System design interview tinyurl software
System design is likely a requirement to land your dream software engineering job. The larger an application gets, the more reliable and efficient architectural patterns need to be. Understanding system design is more important than ever in today’s tech industry. Note: This post was originally published in 2020 and has been updated as of Nov.
