Design Fundamentals Flashcards
1
Q
What is a Client?
A
A machine or process that requests data or service from a server.
Note that a single machine or piece of software can be both a client and a server at the same time. For instance a single machine could act as a server for end users and as a client for a database.
2
Q
What is a Server?
A
A machine or process that provides data or services for a client usually by listening for incoming network calls.
3
Q
Explain the 4 Total Categories System Design Categories:
A
- Underlying foundational knowledge.
- Key characteristics of the system. Trade offs, wants, availability, rate limiting, leader election, latency, redundancies are musts.
- Actual Components of a system: Tangible load balancers, proxies, caches, rate limiting, leaders elections. the key components allow the key characteristics to build on-top of one another.
- Real Tech: Existing products or services that are applicable in a system as components or to achieve a characteristic in a system. Redis, GCP storage, nginx, aws s3 tools to use in a system to build up and create scalability.