Define the APIs expected from the system. This is your chance to analyze and define the read and write paths so that you can come up with the high-level design...
POST /shorten
GET /{id}
Clients: Users or apps that will use the url shortening service
API Gateway:
Shortener service:
redirect-service: Service responsible for search the url by the code and redirect to the page. It will use caffeine cache for local cache to reduce load in database
database: dynamodb, will store the id of url and will be de primary key and the original url. It will use horizontally scalabilty, will priorize availability than consistency. For high demands it will use auto-scalling configuration to keep low latency and multi-az replication for availabilty
Deep dive into 2-3 key components. Explain how they work, how they scale, discuss tradeoffs, capacity, and any relevant algorithms or data structures.
Function of shortener service:
redirect-service
Database