A Computer Architecture is a design in which all computers in a computer network are organized. A architecture defines how the computers should get connected to get the maximum advantages of a computer network such as better response time, security, scalability etc. The two most popular computer architectures are P2P (Peer to Peer) and Client-Server architecture.
Peer to Peer Architecture
In peer to peer architecture all the computers in a computer network are connected with every computer in the network. Every computer in the network use the same resources as other computers. There is no central computer that acts as a server rather all computers acts as a server for the data that is stored in them.
Advantages of a Peer to Peer Architecture
1. Less costly as there is no central server that has to take the backup.
2. In case of a computer failure all other computers in the network are not affected and they will continue to work as same as before the failure.
3. Installation of peer to peer architecture is quite easy as each computer manages itself.
Disadvantages of a Peer to Peer Architecture
1. Each computer has to take the backup rather than a central computer and the security measures are to be taken by all the computers separately.
2. Scalability is a issue in a peer to Peer Architecture as connecting each computer to every computer is a headache on a very large network.
Client Server Architecture
In Client Server architecture a central computer acts as a hub and serves all the requests from client computers. All the shared data is stored in the server computer which is shared with the client computer when a request is made by the client computer.
All the communication takes place through the server computer, for example if a client computer wants to share the data with other client computer then it has to send the data to server first and then the server will send the data to other client.
Advantages of Client Server Architecture
1. Data backup is easy and cost effective as there is no need to manage the backup on each computer.
2. Performance is better as the response time is greatly improves because the server is more powerful computer than the other computers in the network.
3. Security is better as unauthorised access are denied by server computer and all the data goes through the server.
4. Scalability is not an issue in this Architecture as large number of computers can be connected with server.
Disadvantages of Client Server Architecture
1. In case of server failure entire network is down.
2. Server maintenance cost is high as the server is the main component in this Architecture
3. Cost is high as the server needs more resources to handle that many client requests and to be able to hold large amount of data.