low latency, unbique id generation of each url, scalable db , using redis cache for fast data retrival, creating a instance of each micro serice based on request coming in peak time,also to minimise low latency using cdn/or edge cacbinh to direct redirect used
also we can do horizontal scaling we can scale multiple redirect service, even scalling horizontal our db for more data capacity
handeling high thriuout and peak hours using kafka to handle analytics write
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...
shotren url:- api/v1/url/short
(when user hit this this api end-point it goes to a shorten service which uses a id genration service which handle a unique horten code fro the sepecific url nad that process is being streamed to our analytic service to store certain meta data and intiat a doc of the url in mongod
redirect url:- api/v1/url/redirect {
when user call this api it oes bia a rate limiter then load babalancer which redirect thie call to redirect ervice where redirect service looks in redis if yes redirect or else look n databse and fetch and store in redis for further call delay avoiding aldo this have been connected to a async kafka to update the analytics like (clicks, location etc) in analytic for specific url
}
Describe the overall system architecture. Identify the main components needed to solve the problem end-to-end. Use the diagramming tool to create a block diagram.
Deep dive into 2-3 key components. Explain how they work, how they scale, discuss tradeoffs, capacity, and any relevant algorithms or data structures.
we're using sql db to store and map user data ab