Beginner Topic 2 of 51 Distributed Systems & Cloud
Client-Server Model
Clients requesting services from central servers.
How it works
In the client-server model, clients send requests and servers, which provide resources or services, process them and return responses. Servers are typically always on and listen at well-known addresses, while clients initiate communication. Protocols such as HTTP, SQL and gRPC define the exchange, and servers may be stateless, treating each request independently, or stateful, remembering sessions. Multi-tier designs separate presentation, application logic and data into different servers.
Where it is used
Web browsing, email, databases, file shares, online games and mobile apps follow this model, with load balancers and replicas used to scale servers.
Common pitfall
The server is a central point of failure and a bottleneck unless replicated. Many clients can overload it, so use rate limiting, caching and scaling. Stateful servers complicate failover and scaling, so store session state externally. Network failures leave clients unsure whether a request was processed, so make operations idempotent and handle timeouts and retries gracefully.
Where it fits in the course
Client-Server Model is topic 2 of 51 in Distributed Systems & Cloud, rated Beginner. It follows What is a Distributed System. The next topic is Peer-to-Peer Systems.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Distributed Systems & Cloud quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Distributed Systems & Cloud quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Client-Server Model?
Where do people use Client-Server Model?
What is the most common mistake with Client-Server Model?
What should I learn before this topic?
How can I practice it?
Is Client-Server Model hard to learn?
How long does it take to learn Client-Server Model?
Which topics are related to Client-Server Model?
What should I study after Client-Server Model?
Related topics
- What is a Distributed System (Distributed Systems & Cloud)
- Peer-to-Peer Systems (Distributed Systems & Cloud)
- Scalability (Distributed Systems & Cloud)
- Vertical vs Horizontal Scaling (Distributed Systems & Cloud)
- Relational Model (Databases)
- Waterfall Model (Software Engineering)
- OSI Model (Computer Networks)