Arquitecturas Cliente/Servidor y Peer-to-Peer (P2P)

Clasificado en Informática

Escrito el en español con un tamaño de 3,68 KB

Arquitectura Cliente/Servidor

Consideraciones de Diseño

Para el diseño de una arquitectura cliente/servidor, es crucial considerar los siguientes aspectos:

  • Manejo de Errores y Consistencia de Datos: Implementar estrategias para el manejo de errores y mantener la consistencia de datos es fundamental. La seguridad cliente/servidor es una preocupación importante. Se deben realizar verificaciones tanto en el cliente como en el servidor. También se pueden utilizar técnicas como el encriptamiento.
  • Desempeño: El desempeño es otro aspecto clave. Problemas de rendimiento pueden surgir por congestión en la red o dificultades en el tráfico de datos.
  • Distribución de Datos: Un aspecto relacionado con el desempeño es la distribución de datos en la red. En una organización, por ejemplo, la distribución puede ser por departamentos, geográfica u otras. En algunos casos, por confiabilidad o eficiencia, se pueden replicar datos, lo que implica considerar actualizaciones simultáneas.
  • Desarrollo vs. Compra de Componentes: Las organizaciones deben decidir si desarrollan o compran los diferentes componentes del sistema.

Resumen

  • El sistema se descompone en servicios con sus servidores asociados y clientes que acceden a estos servicios.
  • La arquitectura se compone de:
    • Servidores que ofrecen servicios.
    • Clientes que usan los servicios ofrecidos por los servidores.
    • Una red que permite la comunicación entre clientes y servidores.
  • Clientes y servidores pueden estar en la misma máquina.
  • Los clientes conocen a los servidores, pero no a otros clientes. Los servidores no necesariamente conocen a los clientes.
  • La asignación de procesos a procesadores no tiene que ser 1:1.

Arquitectura Peer-to-Peer (P2P)

La tecnología peer-to-peer (P2P) define una arquitectura de comunicación entre aplicaciones que permite a individuos comunicarse y compartir información sin un servidor central.

  • "P2P" se refiere a un tipo de arquitectura, no a la funcionalidad de una aplicación.
  • P2P es un medio para un fin. Aunque se usa como sinónimo de "intercambio de archivos", este es solo uno de sus usos. Por ejemplo, Skype usa una arquitectura P2P híbrida para VoIP, y Tor la utiliza para enrutamiento anónimo.
  • La principal ventaja de P2P es que maximiza los recursos (ancho de banda, almacenamiento, etc.) de los peers para ofrecer servicios sin depender de servidores centrales, evitando cuellos de botella.
  • La ausencia de una autoridad central única hace que la red sea robusta y difícil de colapsar.

Escalabilidad

  • P2P tiene alcance mundial. Cuantos más nodos, mejor funciona.
  • A diferencia de la arquitectura cliente/servidor, donde más clientes pueden significar menor velocidad, en P2P la adición de nodos mejora el rendimiento.

Robustez

  • La naturaleza distribuida y la replicación de datos permiten que los peers encuentren información sin un servidor centralizado de indexado, incluso con fallos.

Descentralización

  • Las redes P2P son descentralizadas por definición, con todos los nodos iguales.

Distribución de Costes

  • Los usuarios comparten recursos (archivos, ancho de banda, procesamiento, almacenamiento) a cambio de otros recursos.

Anonimato

Seguridad

  • La seguridad es un aspecto deseable, pero aún en desarrollo. Los objetivos son identificar y evitar nodos maliciosos, contenido infectado y espionaje de las comunicaciones.

Entradas relacionadas: