Grokking the System Design Interview
Ask Author
Back to course home

0% completed

Vote For New Content
What's the point of key generation service and all the complexity related to it?...

Haixiao Yang

Jun 23, 2022

What's the point of key generation service and all the complexity related to it? Just to avoid generate duplicate short url for the same long url? We can just use a encoding algorithm with salt (BASE64(SAH256(long url , salt))). The salt can just be a random generated number.

3

0

Comments
Comments
G
Grayson W3 years ago

Salt does solve the issue of duplication. As far as I understand, part of the reasons to generate keys offline are:

  1. Base64 on MD5 will result in 21+ charaters, but we want 6-8 chars.
  2. If we only pick 6-8 from these 21+ chars, we can easily have duplications, unless...

On this page

  1. Why do we need URL shortening?

Try it yourself

Designing URL Shortener (video)

  1. Requirements and Goals of the System
  1. Capacity Estimation and Constraints
  1. System Interface Definition
  1. Create Short URL API
  1. Redirect API
  1. Analytics API
  1. URL Management API
  1. Delete Short URL API
  1. Database Design
  1. Basic System Design and Algorithm

a. Encoding actual URL

b. Generating keys offline

  1. Data Partitioning and Replication
  1. Cache
  1. Load Balancer (LB)
  1. Purging or DB cleanup
  1. Telemetry
  1. Security and Permissions