![]() ![]() This API should create a new short URL in our system given an original URL. Let us do a basic API design for our services: Since the data is not strongly relational, NoSQL databases such as Amazon DynamoDB, Apache Cassandra, or MongoDB will be a better choice here, if we do decide to use an SQL database then we can use something like Azure SQL Database or Amazon RDS. We can also use the hash column as an index to improve the query performance. Stores user's details such as name, email, createdAt, etc.Ĭontains the new short URL's properties such as expiration, hash, originalURL, and userID of the user who created the short URL. Initially, we can get started with just two tables: Next, we will focus on the data model design. This will be a read-heavy system, so let's assume a 100:1 read/write ratio with 100 million links generated per month. Note: Make sure to check any scale or traffic related assumptions with your interviewer. Let's start with the estimation and constraints. Record analytics and metrics for redirections.The system should be scalable and efficient.High availability with minimal latency.Links should expire after a default timespan.Users should be redirected to the original URL when they visit the short link.Given a URL, our service should generate a shorter and unique alias for it.Our URL shortening system should meet the following requirements: Moreover, we can also optimize links across devices, this allows us to track individual links. Users are also less likely to mistype shorter URLs. URL shortener saves space in general when we are sharing URLs. Users are redirected to the original URL when they visit these short links.įor example, the following long URL can be changed to a shorter URL. Let's design a URL shortener, similar to services like Bitly, TinyURL.Ī URL shortener service creates an alias or a short URL for a long URL. 3 System Design: IP 4 System Design: OSI Model 5 System Design: TCP and UDP 6 System Design: Domain Name System (DNS) 7 System Design: Load Balancing 8 System Design: Clustering 9 System Design: Caching 10 System Design: Content Delivery Network (CDN) 11 System Design: Proxy 12 System Design: Availability 13 System Design: Scalability 14 System Design: Storage 15 System Design: Databases and DBMS 16 System Design: SQL databases 17 System Design: NoSQL databases 18 System Design: SQL vs NoSQL databases 19 System Design: Database Replication 20 System Design: Indexes 21 System Design: Normalization and Denormalization 22 System Design: ACID and BASE consistency models 23 System Design: CAP theorem 24 System Design: PACELC Theorem 25 System Design: Transactions 26 System Design: Distributed Transactions 27 System Design: Sharding 28 System Design: Consistent Hashing 29 System Design: Database Federation 30 System Design: N-tier architecture 31 System Design: Message Brokers 32 System Design: Message Queues 33 System Design: Publish-Subscribe 34 System Design: Enterprise Service Bus (ESB) 35 System Design: Monoliths and Microservices 36 System Design: Event-Driven Architecture (EDA) 37 System Design: Event Sourcing 38 System Design: Command and Query Responsibility Segregation (CQRS) 39 System Design: API Gateway 40 System Design: REST, GraphQL, gRPC 41 System Design: Long polling, WebSockets, Server-Sent Events (SSE) 42 System Design: Geohashing and Quadtrees 43 System Design: Circuit breaker 44 System Design: Rate Limiting 45 System Design: Service Discovery 46 System Design: SLA, SLO, SLI 47 System Design: Disaster recovery 48 System Design: Virtual Machines (VMs) and Containers 49 System Design: OAuth 2.0 and OpenID Connect (OIDC) 50 System Design: Single Sign-On (SSO) 51 System Design: SSL, TLS, mTLS 52 System Design: System Design Interviews 53 System Design: URL Shortener 54 System Design: WhatsApp 55 System Design: Twitter 56 System Design: Netflix 57 System Design: Uber 1 System Design: The complete course 2 System Design: What is system design?. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |