Service Discovery System: Low-Level Design
Service discovery allows microservices to find each other’s network addresses without hardcoded configuration. In a dynamic environment where services scale […]
Service discovery allows microservices to find each other’s network addresses without hardcoded configuration. In a dynamic environment where services scale […]
An image processing pipeline handles user-uploaded images: validating, resizing, compressing, and formatting them for web and mobile delivery. Instagram, Pinterest,
A data pipeline moves data from operational systems (databases, event streams, APIs) to analytical systems (data warehouses, data lakes) where
A video calling system enables real-time audio and video communication between users in a browser or mobile app. WebRTC (Web
An object storage system stores arbitrary binary data (files, images, videos, backups) addressable by a globally unique key, with near-infinite
A graph database stores data as nodes (entities) and edges (relationships), enabling efficient traversal of complex, highly connected data. Social
A transactional email delivery system sends emails triggered by application events — welcome emails on registration, password reset links, order
A Content Delivery Network (CDN) caches content at edge servers distributed globally — close to users — to reduce latency
A real-time analytics pipeline processes streams of events and makes the results available for querying within seconds — enabling live
Two-factor authentication (2FA) requires users to present two forms of evidence: something they know (password) and something they have (phone,
A full-text search engine finds documents matching a text query from a large corpus. Building search for a product catalog,
A webhook delivery system sends HTTP callbacks to external URLs when events occur in your system — Stripe sends webhook
OAuth2 is an authorization framework that lets users grant third-party applications limited access to their data without sharing passwords. OpenID
Event sourcing is a persistence pattern where the state of an entity is derived by replaying a sequence of immutable
Database sharding splits a large dataset across multiple database servers (shards) to scale beyond what a single server can handle.