In this article we will look at the Client – Server architecture. But before we get into that topic let us understand the role of a client and server from the pizza delivery system analogy.
Let us suppose you want to eat pizza and then you call your favourite pizza store and place order of your pizza. The pizza store receives the order prepares your ordered pizza and delivers to your house.
In the above example you are requesting a food service and pizza store is serving the request. So, you are nothing but the client who requests services and here pizza store is acting like a server who serves request to the clients.
So, in simple words if a device requests services from a server then it is called Client. And server receives those requests and responds with a proper resource(s).
The other names of client server architecture are client/server network and networking computing model. This is so because all requests and services get delivered over the network.
Moreover, one point you should note that a server may serve many clients at a time, but a client may get connected to only one server.
Furthermore, a client can be anything like smartphones, tables, laptops, or PCs. On the other hand, servers are powerful machines that are capable of handling multiple requests.
Examples of Client-Server Architecture:
Mail Servers: Mail servers are mainly responsible for sending and receiving emails on the internet. Mail servers are mainly divided into two main types. And they are outgoing Mail Servers and incoming mail servers. In addition to that, Outgoing mail servers are Known as SMTP or Simple Mail Transfer Protocol. Whereas the Incoming mail servers comes in two types namely POP3(Post Office Protocol, version 3) and IMAP (Internet Message Access Protocol).
File Servers: Those types of servers that stores files are commonly termed as File Servers. And they supply those files to the clients as when needed. There are high chances that you have used one or more file server. Take the example of Google Docs and Microsoft Office. I am listing these two online services because whatever document(s) you create on those platforms. They are stored centrally on the servers. Moreover, devices like smartphones, tablets or PCs can access them.
Web Servers: Web servers are high performance servers that host various kinds of websites. If you want to know about website related topic like domain and hosting, you can read the post here.
Components of Client Server Architecture:
There are mostly three main components that make the client server architecture. And they are workstations, networking devices and servers.
- Workstations: Well don’t get confused about workstations. In other words, the client computer in a network is also known as workstation. Generally, client machines use diverse types of Operating Systems. But the most common one is Microsoft Windows. Moreover, Operating systems used on a client computer is cheaper than OS needed for the server systems.
- Servers: These are high power computing devices present on the network to handle multiple devices request. Mainly these has high processing power, large storage and so on. Moreover, it has own several processes that needs to be executed from time to time.
- Networking Devices: Workstations and Servers are connected with the help of the networking devices. Each of the networking devices has its own operation and properties used in the client server architecture.
Now let us see pros and cons of client server architecture.
Pros of client-server architecture:
- Its main advantages include centralised system in which all the data and information is stored in a single place.
- Here in this model client and server hardware can be upgraded, replaced or restored easily without disturbing each other.
- There is no geographical restriction on accessing the information. It does not matter the location of server and clients present in the world.
- Clients have the facility to share the resources present on the server at various places and platforms.
Below are the limitations of client-server architecture:
- All the clients will be affected if the server they are requesting resources has been crashed.
- This architecture requires the operating system based specially on the networking.
- If too many clients request the resources from the server at a time, then traffic congestion problems will arise.
- To support and manage servers there is a need of highly technical and skilled staff so that server works smoothly from time to time.
And at last, but not the least let us have a look on the differences between client-server network and Peer to peer Network.
Differences between Peer-to-Peer & Client-Server networks:
|Sno||Client-Server Network||Peer to Peer Network|
|1||Clients and servers are both different systems.||There is no difference between clients and servers.|
|2||Main goal here is to share the information.||Whereas on the other hand here in Peer-to-peer network the main goal is to keep connections among the peers.|
|3||For the data storage centralized approach means server is used.||Whereas here each connected device keep its data.|
|4||Every time clients request resources from the server and server supplies the data in response to that request.||Peers have the power of both request and response services.|
|5||The approach is costly than peer to peer network.||The method is cheaper than a client-server network.|
So, I hope this article on Client-Server Architecture has given you the clear cut idea about the technology. Please leave your thoughts in the comment section below. Thanks for reading this article And I will see you on the next post.