Please enable JavaScript.
Coggle requires JavaScript to display documents.
1.5 Sistemas distribuidos - Coggle Diagram
1.5 Sistemas distribuidos
Sistema distribuido: Un sistema distribuido es un conjunto de computadoras o servidores conectados por una red que trabajan juntos como un solo sistema. Permite compartir recursos, aumentar el rendimiento, manejar grandes cantidades de usuarios y continuar funcionando aunque algunos nodos fallen. Un ejemplo es Netflix, que utiliza muchos servidores distribuidos para entregar contenido y mantener el servicio disponible incluso cuando ocurre alguna falla.
Microservicios: son una arquitectura de software que divide una aplicación en pequeños servicios independientes, cada uno encargado de una función específica. Esto permite desarrollarlos, actualizarlos y ejecutarlos por separado. Por ejemplo, una tienda en línea puede tener microservicios independientes para usuarios, productos, pagos y pedidos.
Arquitectura cliente-servidor: La arquitectura cliente-servidor es un modelo donde el cliente solicita información o servicios y el servidor procesa la solicitud y devuelve una respuesta. Permite dividir las tareas entre los dispositivos de los usuarios y los servidores. Un ejemplo es League of Legends, donde la computadora del jugador envía sus acciones a los servidores, que procesan la partida y devuelven las actualizaciones en tiempo real.
Transparencia de acceso: La transparencia de acceso permite que los usuarios utilicen recursos locales o remotos de la misma forma, sin necesidad de saber dónde están ubicados físicamente ni cómo funcionan internamente. El sistema oculta la complejidad de la comunicación entre equipos. Por ejemplo, un empleado puede abrir un archivo almacenado en un servidor remoto como si estuviera guardado en su propia computadora.
Escalabilidad: La arquitectura cliente-servidor es un modelo donde el cliente solicita información o servicios y el servidor procesa la solicitud y devuelve una respuesta. Permite dividir las tareas entre los dispositivos de los usuarios y los servidores. Un ejemplo es League of Legends, donde la computadora del jugador envía sus acciones a los servidores, que procesan la partida y devuelven las actualizaciones en tiempo real.
Transparencia de ubicación: La transparencia de ubicación permite acceder a recursos o servicios de un sistema distribuido sin conocer dónde están físicamente ubicados. El sistema oculta detalles como direcciones IP o servidores y ofrece una forma sencilla de utilizar los recursos. Un ejemplo es Google Drive o Dropbox, donde un usuario puede abrir y editar archivos sin saber en qué servidor o centro de datos están almacenados.
Concurrencia: La concurrencia permite que varias tareas, procesos o aplicaciones progresen durante el mismo período de tiempo, compartiendo los recursos de una computadora de forma controlada. Requiere mecanismos de sincronización para evitar conflictos y mejorar el rendimiento y la capacidad de respuesta. Un ejemplo es escribir un documento mientras se escucha música y se descarga un archivo, ya que el sistema operativo coordina las tres tareas.
Transparencia de replicación: La transparencia de replicación permite que los usuarios utilicen datos sin saber que existen varias copias de la misma información en diferentes servidores. El sistema se encarga de gestionar automáticamente las réplicas. Por ejemplo, una empresa puede tener su base de datos copiada en varios servidores y el usuario realiza consultas sin saber qué copia está utilizando.
Tolerancia a fallos: Es la capacidad de un sistema para seguir funcionando aunque uno o varios componentes fallen. Se logra mediante mecanismos como redundancia, respaldos y recuperación automática. Por ejemplo, un banco puede utilizar servidores y discos redundantes para que, si un disco falla, otro tome su lugar sin interrumpir los servicios bancarios.
Computación en la nube (Cloud Computing): Permite utilizar recursos informáticos como servidores, almacenamiento, bases de datos y aplicaciones a través de Internet, sin tener toda la infraestructura físicamente. Facilita el desarrollo y mantenimiento de aplicaciones y permite aumentar o reducir recursos según la demanda. Por ejemplo, una tienda en línea puede aumentar sus recursos durante una temporada de ofertas para soportar más usuarios.
Arquitectura Orientada a Servicios (SOA): Es un modelo de software donde las funciones de una aplicación se dividen en servicios independientes, reutilizables y conectados mediante una red. Cada servicio realiza una tarea específica y puede comunicarse con otros sistemas sin importar el lenguaje o tecnología utilizada. Por ejemplo, una tienda en línea puede utilizar servicios separados para procesar pagos, actualizar inventarios y gestionar envíos, coordinándolos para completar una compra.
Balanceo de carga: Es una técnica que distribuye el tráfico y las solicitudes de los usuarios entre varios servidores para evitar que uno se sobrecargue. Permite mejorar el rendimiento, reducir los tiempos de respuesta y mantener la disponibilidad del servicio. Por ejemplo, una plataforma de streaming distribuye las solicitudes de millones de usuarios entre diferentes servidores para mantener los videos funcionando de forma fluida y sin interrupciones.