Definición: ¿Qué significa Arquitectura Cliente / Servidor?
La arquitectura cliente / servidor es un modelo informático en el que varios componentes trabajan en roles estrictamente definidos para comunicarse. El servidor aloja, entrega y administra la mayoría de los recursos y servicios que consumirá el cliente. Este tipo de arquitectura de recursos compartidos tiene una o más computadoras cliente conectadas a un servidor central a través de una red o conexión a Internet.
La arquitectura cliente / servidor también se conoce como modelo de computación en red o red cliente / servidor porque todas las solicitudes y servicios se entregan a través de una red. Se considera una forma de sistema informático distribuido porque los componentes hacen su trabajo de forma independiente unos de otros.
Techinfo explica la arquitectura cliente / servidor
En una arquitectura cliente / servidor, el servidor actúa como productor y el cliente actúa como consumidor. El servidor aloja y proporciona servicios informáticos de alta calidad al cliente a pedido. Estos servicios pueden incluir acceso a aplicaciones, almacenamiento, uso compartido de archivos, acceso a impresoras y / o acceso directo a la potencia informática bruta del servidor.
La arquitectura cliente / servidor funciona cuando la computadora del cliente envía una solicitud de recurso o proceso al servidor a través de la conexión de red, que luego se procesa y se entrega al cliente. Una computadora servidor puede administrar varios clientes simultáneamente, mientras que un cliente puede conectarse a varios servidores a la vez, cada uno proporcionando un conjunto diferente de servicios.
El modelo cliente / servidor, tal como evolucionó, sirvió bastante bien para lo que algunos denominan web 2.0, donde Internet se convirtió lentamente en un espacio virtual funcional para los usuarios. Proporcionó un modelo establecido y predecible de cómo se desarrollarían las sesiones de los usuarios y cómo los proveedores entregaron recursos en función de las solicitudes de paquetes de datos y otros recursos.
Ejemplo de comunicaciones cliente / servidor
A continuación, se muestra un ejemplo de cómo funcionan las comunicaciones cliente / servidor. En un uso promedio de un navegador para acceder a un sitio web del lado del servidor, el usuario o cliente ingresa la URL. El servidor DNS busca la dirección IP del servidor web y se la da al navegador. El navegador genera una solicitud HTTP o HTTPS y el servidor, como productor, envía los archivos. El cliente, como consumidor, los recibe y luego, normalmente, envía solicitudes de seguimiento.
Aunque este modelo técnicamente funciona para muchos procesos similares, tiene algunos inconvenientes. Con el tiempo, ha surgido una alternativa llamada modelado peer-to-peer o P2P, que muchos sienten que es de alguna manera superior a los modelos tradicionales de cliente / servidor, especialmente en términos de manejo de desafíos específicos donde las comunicaciones están más evolucionadas.
Problemas con los modelos cliente / servidor
Uno de los mayores problemas con una configuración cliente / servidor tradicional es la naturaleza de las cargas de trabajo impredecibles.
Al definir los sistemas cliente / servidor como sistemas que se escalan verticalmente y utilizan almacenes de datos centrales, algunos analistas creen que el peer-to-peer es más ágil y versátil para garantizar que las cargas de trabajo impredecibles se administren bien. Los expertos hablan de cosas como zonas de disponibilidad y redundancia y conmutación por error como un medio para mantener los sistemas comerciales en línea funcionando sin problemas, a pesar de los cambios en la demanda u otros problemas.
Por ejemplo, otro problema importante es la utilidad de un ataque distribuido de denegación de servicio (DDoS). En este tipo de ataque, la actividad del cliente fuera de control invade un servidor. Aquellos que están buscando en Internet hace un par de décadas señalan que era bastante fácil inundar un sitio con un ataque DDoS porque el modelo promedio de cliente / servidor no estaba configurado para umbrales por encima de una cierta cantidad de tráfico.
Los sistemas peer-to-peer pueden resolver muchos de esos problemas y proteger los sistemas contra ataques DDoS y ciberataques similares. Peer-to-peer también es útil para manejar algunos tipos de otras interrupciones basadas en un solo punto de falla.
Con la aparición de sistemas descentralizados y distribuidos, por ejemplo, las tecnologías de contabilidad inmutable de blockchain, los sistemas de igual a igual se están volviendo más populares y comienzan a reemplazar las arquitecturas cliente / servidor.