La arquitectura Cliente servidor se basa en un modelo de aplicación distribuida en el que hay un cliente que será el encargado de realizar las peticiones a un servidor que serán el encargado de enviar la respuesta a los clientes.
Este tipo de arquitectura delimita los roles entre clientes y servidores, a nivel organizativo es fácil de comprender y claro, además la separación entre ambos nos puede ayudar a diseñar el sistema.
Por otro lado, la arquitectura P2P (peer-to-peer) está basada en la unión de ordenadores en una red y cada ordenador realiza la labor de cliente y servidor al mismo tiempo.
Existen redes P2P hibridas que utilizar un servidor central para mantener la información sobre las redes o nodos.
Las diferencias más comunes entre ambas son las siguientes:
Cliente servidor | P2P |
Necesita un cliente y un servidor. | Los equipos toman ambos roles el de cliente y el de servidor |
El proceso depende de un servidor | El proceso corre sobre toda la red de ordenadores |
Se conecta a un servidor | Se conecta a una red |
Se centraliza en un host. | Suelen ser redes descentralizadas con muchos nodos. |