System Design of URL Shortening Service like TinyURL

Think Software
18 min readNov 29, 2020

If you are looking for a great resource to not just improve your distributed system design skills but also to ace your distributed system design interviews and targeting level L5/L6 in companies like Facebook, Google, etc. then you should check “The Distributed System Design Interviews Bible”.

The course also includes a section on mock system design interviews. This is a great resource because it will provide you the experience of an actual distributed system design interview. More chapters and mock system design interviews are being added as well.

The following article on designing a URL shortening service like TinyURL is a chapter from the above course.

TinyURL is a URL shortening web service, which provides short aliases for redirection of long URLs.

The first step would be to collect the functional and non-functional requirements of the service.

Functional Requirements

The functional requirements include:

1. Given a big URL, the service should generate a unique small URL (or link) for the big URL (this is a write operation).

--

--