Arquitectura Cliente-servidor
Qué es?
Una arquitectura o modelo cliente-servidor es una red de aplicaciones que separa las tareas entre los clientes y los servidores que viven en el mismo sistema o tienen que comunicarse a través de una red informática. El servidor-cliente se basa principalmente en enviar la solicitud a otro programa para acceder al servicio que el servidor hace accesible. Este servidor ejecuta algunos programas que comparten los recursos y distribuyen el trabajo entre los clientes.
Una relación cliente-servidor corresponde al patrón de solicitud-respuesta y debe adherirse al procedimiento de comunicaciones común que define el lenguaje, las reglas o los patrones de diálogo utilizados. La comunicación cliente-servidor se adhiere al conjunto de protocolos TCP o IP.
Cliente:
Es un programa o proceso que solicita un servicio.
Servidor:
Programa el proceso que ofrece un conjunto de servicios y espera por peticiones para ejercitar.
Esquema de funcionamiento de un sistema cliente-servidor:
- El cliente solicita una información al servidor.
- El servidor recibe la petición del cliente.
- El servidor procesa dicha solicitud.
- El servidor envía el resultado obtenido al cliente.
- El cliente recibe el resultado y lo procesa.
Componentes:
- Red
- Cliente
- Servidor
- Protocolo
- Servicios
- Base de Datos
Características:
- Conexión entre cliente y servidor
- Diferencias entre cliente y servidor
- Recursos: memoria, almacenamiento, procesado, terminales e/s
- Servidores con carácter pasivo
- Relación inexistente entre cliente y servidor
- Ambiente heterogéneo
- Escalabilidad horizontal
- Escalabilidad vertical
Tipos de arquitecturas:
Dentro de la arquitectura cliente servidor existen tres tipos en donde hablaremos brevemente de como funciona cada uno de ellos.
De 2 capas:
Esta se utiliza para describir los sistemas cliente servidor en donde el cliente solicita recursos y el servidor responde directamente a la solicitud con sus propios recursos. Eso significa que el servidor no requiere de una aplicación extra para proporcionar parte del servicio.
De 3 capas:
En la arquitectura de tres capas existe un nivel intermediario, eso significa que la arquitectura generalmente está compartida por un cliente que como hablamos más arriba es el que solicita los recursos equipado con una interfaz de usuario o mediante un navegador web.
La capa del medio es denominada software intermedio cuya tarea es proporcionar los recursos solicitados pero que requiere de otro servidor para hacerlo. La última capa es el servidor de datos que proporciona al servidor de aplicaciones los datos necesarios para poder procesar y generar el servicio que solicito el cliente en un principio.
De N capas:
En la arquitectura de tres capas, los servidores dos y tres realizaron una tarea específica por lo tanto un servidor web puede usar los servicios de otros servidores para poder proporcionar su propio servicio.
Por consiguiente la arquitectura en tres niveles es potencialmente una arquitectura en N capas ya que así como está contemplado en tres niveles como el caso anterior puede estar compuesto por N servidores donde cada uno de ellos brindan su servicio específico.
Ejemplos:
- Navegar una web funciona basándonos en un cliente web (navegador) y un servidor web como Apache Nginx o LiteSpeed.
- Protocolo FTP, funciona de idéntica forma, se utiliza un cliente de FTP (como Filezilla) para conectar a un servidor FTP (como Pure-FTPD, Proftpd, etc).
- SSH: es idéntico también, se utiliza un cliente SSH para conectar al servidor SSH que corre en una red remota.
- Juegos en red: existen clientes que permiten a jugadores online jugar desde sus casas conectándose a servidores de juegos remotos.
- Sistema DNS: el famoso servidor DNS interactúa con clientes DNS también, es decir, basa su arquitectura en el modelo cliente servidor.
- Servidor de Correo: donde clientes de correo consultan el correo al servidor de correo remoto, tanto desde móvil o una computadora de escritorio o laptop.
No hay comentarios.:
Publicar un comentario