1/44
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No study sessions yet.
System Design
The process of defining a system’s architecture, components, interfaces, and data flow to meet functional and non-functional requirements.
Functional Requirements
What a system must do, including features, behaviors, and user interactions.
Non-Functional Requirements
How a system performs its functions, including scalability, reliability, performance, and maintainability.
Scalability
The ability of a system to handle increasing load by adding resources without degrading performance.
Reliability
The ability of a system to continue operating correctly and recover from failures.
Performance
How efficiently a system responds to requests, often measured by latency and throughput.
Maintainability
The ease with which a system can be updated, fixed, or extended over time.
Monolithic Architecture
A system design where all components are bundled into a single deployable application.
Distributed Systems
Systems composed of multiple independent components that communicate over a network.
Cloud Computing
On-demand delivery of computing resources such as servers, storage, and databases over the internet.
Microservices Architecture
An architectural style where a system is broken into small, independent services that communicate over APIs.
Event-Driven Architecture
A design pattern where services communicate by producing and consuming events asynchronously.
API Design
The process of defining how software components communicate through structured interfaces.
Networking in System Design
The principles and infrastructure that enable communication between system components.
IP Address
A unique numerical identifier assigned to devices to enable network communication.
IPv4
A 32-bit IP addressing scheme supporting approximately 4.3 billion unique addresses.
IPv6
A 128-bit IP addressing scheme designed to solve IPv4 address exhaustion.
Public IP Address
A globally unique IP address accessible over the internet.
Private IP Address
An internal network IP address not directly accessible from the public internet.
DNS
A distributed system that translates human-readable domain names into IP addresses.
DNS Caching
The temporary storage of DNS query results to reduce latency and lookup load.
Client-Server Model
A distributed architecture where clients request services and servers process and respond.
Stateless Server
A server design where each request is handled independently without stored session data.
Stateful Server
A server design that maintains client session data across multiple requests.
Forward Proxy
A proxy that sits in front of clients to manage outbound requests, privacy, and filtering.
Reverse Proxy
A proxy that sits in front of servers to manage inbound traffic, security, and load balancing.
Load Balancing
The process of distributing incoming traffic across multiple servers to improve availability and performance.
Layer 4 Load Balancer
A load balancer that routes traffic based on IP addresses and ports without inspecting content.
Layer 7 Load Balancer
A load balancer that routes traffic based on application-layer data such as URLs and headers.
API Gateway
A centralized entry point that manages API requests, security, routing, and traffic control.
Rate Limiting
Restricting the number of requests a client can make within a given time window.
Caching
Storing frequently accessed data to reduce latency and backend load.
Content Delivery Network
A globally distributed network of servers that deliver content closer to users to reduce latency.
TCP
A reliable, connection-oriented protocol that guarantees ordered and error-checked data delivery.
UDP
A fast, connectionless protocol that prioritizes speed over reliability.
HTTP
A stateless, text-based protocol for request-response communication on the web.
HTTPS
The secure version of HTTP that encrypts data using SSL/TLS.
REST
An architectural style for APIs based on stateless communication and resource-based design.
RESTful API
An API that adheres to REST principles such as statelessness, uniform interfaces, and cacheability.
WebSockets
A protocol providing persistent, full-duplex communication for real-time applications.
Long Polling
A technique where the server holds an HTTP request open until new data is available.
gRPC
A high-performance RPC framework using HTTP/2 and binary serialization for microservices.
GraphQL
A query language that allows clients to request exactly the data they need from an API.
System Design Process
A structured approach involving requirement analysis, scale estimation, component design, and technology selection.