System Design & API Design Patterns
79 cards · 🇺🇸 English
Scalability, distributed systems concepts, and API design best practices.
Study all 79 cards for free
Flashcards, quizzes, pixel-art games and a daily review that remembers for you.
Try the first 10 cards
1 / 10System design
Tap the card for the answer · swipe right if you knew it, left if not
Already have an account? Sign in
Cards
- 1System designThe process of defining system architecture, components, interfaces, and data to satisfy specified requirements for scalability, reliability, and performance
- 2Main components of system designUser Interface Design, Data Design, and Process Design
- 3Distributed systemA system whose components are located on different networked computers that communicate and coordinate by passing messages
- 4Three main challenges of distributed systemsMaintaining concurrency of components, overcoming lack of a global clock, and managing independent component failures
- 5Vertical scalingAdding more resources (CPU, RAM) to a single server to increase capacity
- 6Horizontal scalingAdding more servers to distribute the load across multiple machines
- 7Load balancingDistributing incoming network traffic across multiple servers to ensure no single server bears too much load
- 8ShardingPartitioning data across multiple database instances to distribute load and improve performance
- 9Database replicationMaintaining multiple copies of data across different database servers to improve availability and reliability
- 10Primary-secondary (master-slave) replicationA replication pattern where one primary database handles writes, and secondary databases handle reads
- 11CDN (Content Delivery Network)A distributed network of servers that delivers content to users based on their geographic location, improving speed and reducing latency
- 12CachingStoring frequently accessed data in fast-access storage (memory) to reduce database queries and improve response time
- 13Stateless serverA server that doesn't store any session or user state between requests - each request is independent
- 14Stateful serverA server that maintains session state and user context between requests
- 15Message queueA component that enables asynchronous communication between services by storing messages until they can be processed
- 16Publish-subscribe architectureA messaging pattern where publishers send messages to topics, and subscribers receive messages from topics they're interested in
- 17Single point of failure (SPOF)A component whose failure would cause the entire system to fail
- 18API rate limitingControlling the number of requests a client can make to an API within a given time period to prevent abuse and ensure fair usage
- 19Service Level Agreement (SLA)A contract defining the expected level of service, including uptime guarantees and performance metrics
- 20CAP theoremA distributed system can only guarantee two of three: Consistency, Availability, and Partition tolerance
- 21Eventual consistencyA consistency model where data will eventually become consistent across all replicas, but not immediately
- 22Microservices architectureAn architectural style where an application is built as a collection of small, independent services that communicate via APIs
- 23Monolithic architectureAn architectural style where all components of an application are tightly integrated and run as a single unit
- 24Database denormalizationIntentionally introducing redundancy into a database design to improve read performance at the cost of write complexity
- 25SQL vs NoSQL databasesSQL databases are relational, ACID-compliant with fixed schemas; NoSQL databases are non-relational, more flexible, and designed for scalability
- 26ACID in databasesAtomicity, Consistency, Isolation, Durability - properties guaranteeing reliable database transactions
- 27BASE in distributed systemsBasically Available, Soft state, Eventually consistent - an alternative to ACID for distributed systems
- 28Reverse proxyA server that sits in front of backend servers and forwards client requests, providing load balancing, caching, and security
- 29GeoroutingDirecting user requests to the nearest datacenter based on geographic location to reduce latency
- 30Database indexingCreating data structures to improve the speed of data retrieval operations on a database table
And 49 more cards. Study the whole deck free
Articles about this deck
More Programming decks
See all- 🧱
Data Structures
95 cards · 🇺🇸 English
Arrays, linked lists, trees, graphs, hash tables and their core operations.
- 🧱
Estructuras de Datos
95 cards · 🇺🇸 English
Arrays, listas enlazadas, árboles, grafos, tablas hash y sus operaciones fundamentales.
- 🏗️
Design Patterns & OOP/SOLID Principles
60 cards · 🇺🇸 English
The Gang of Four design patterns plus object-oriented and SOLID principles.
- ⏱️
Notación Big O
44 cards · 🇺🇸 English
Análisis de la complejidad temporal y espacial de algoritmos y operaciones comunes.
- ✅
Testing: Unit & Integration
40 cards · 🇺🇸 English
Unit testing, integration testing, mocking, and testing best practices.
- 🧱
Datenstrukturen
95 cards · 🇺🇸 English
Arrays, verkettete Listen, Bäume, Graphen, Hash-Tabellen und ihre wichtigsten Operationen.
