Please enable JavaScript.
Coggle requires JavaScript to display documents.
Arquitectura de Sistemas Distribuidos - Coggle Diagram
Arquitectura de Sistemas Distribuidos
Sistema Distribuido
Un sistema distribuido, por definición, comprende al menos dos componentes, pero algunos sistemas comprenden muchos componentes y presentan un comportamiento muy complejo como resultado.
Arquitectura
Describe el camino en qué sistemas están estructurados y cómo se interconectan los componentes constituyentes y las relaciones entre los componentes; esto incluye la organización de canales de comunicación y control entre pares o grupos de componentes.
Vista de Arquitectura
La arquitectura de un sistema es su estructura. Las aplicaciones distribuidas comprenden varios componentes que tienen relaciones de comunicación y relaciones de control con otros componentes.
Estos componentes puede organizarse en una estructura jerárquica donde los componentes ocupan diferentes capas dependiendo
en su papel.
Arquitectura Física
Describe la configuración de las computadoras y su interconectividad.
Arquitectura Lógica
La lógica de la aplicación se considera distribuida incluso si todos los procesos que realizan el trabajo residen en el mismo equipo físico.
Redes y Distribución
Una aplicación de red es aquella en la que la red transmite mensajes entre componentes pero donde la lógica de la aplicación no se extiende a través de los componentes
En una aplicación de red, los dos o más componentes suelen ser visibles explícitamente para los usuarios
Complejidad en Sistemas Distribuidos
Los sistemas pueden ser muy complejos en términos de su estructura, su funcionalidad y / o su
comportamiento.
Fuentes de Complejidad
El tamaño total del sistema. Esto incluye la cantidad de computadoras, la cantidad de software
componentes, la cantidad de datos y el número de usuarios.
El alcance de la funcionalidad. Esto incluye la complejidad de funciones específicas y también la
variedad y amplitud de funciones en todo el sistema.
La velocidad a la que opera el sistema. Esto incluye la velocidad a la que llegan las solicitudes de los usuarios. El sistema, el rendimiento del sistema en términos del número de transacciones completadas en un determinado tiempo
Arquitectura en Capas
Comprenden varias capas de componentes que se colocan en agrupaciones basadas en el tipo de funcionalidad que brindan o en función de sus interacciones con otros componentes de manera que la comunicación entre capas se produce entre capas adyacentes.
Heterogeneidad
Los sistemas homogéneos son aquellos en los que todas las computadoras son iguales, en términos de su hardware y configuración, recursos y sistema operativo.
Definición
Los avances tecnológicos conducen a nuevas plataformas o actualizaciones con mejores recursos de plataformas anteriores.
Los factores tecnológicos incluyen avances en sistemas operativos y lenguajes de programación, así como
la introducción ocasional de nuevos protocolos de red.
La heterogeneidad a menudo se introduce intencionalmente
a través del diseño o la configuración.
Arquitecturas de Hardware y a nivel de Sistema
Las aplicaciones distribuidas comprenden componentes de software que se encuentran dispersos en las distintas computadoras en el sistema.
Para que estos componentes funcionen como una sola aplicación coherente, en lugar de
a los componentes aislados haciendo lo suyo, es necesario que existan algunos medios para que los componentes se comuniquen
Los procesadores comparten el
recursos de la computadora, incluidos el reloj, la memoria y los dispositivos de E / S.
Arquitecturas de Software
Un buen diseño
garantizará que esto se haga para lograr una "separación de preocupaciones" en la mayor medida posible.
Es ideal dividir el límite lógico de los componentes sobre una base funcional en lugar de
que sobre una base más abstracta.
Si la lógica se divide en componentes de forma arbitraria (por ejemplo, quizás
para tratar de mantener todos los componentes del mismo tamaño), entonces probablemente habrá más comunicación e interdependencia entre componentes resultantes
Taxonomía de las clases de Arquitectura de Software
Esta amplia categorización es muy útil como medio para describir y comparar la distribución de funcionalidades en el varios componentes de un sistema.
Cliente-Servidor
Es quizás el modelo más conocido de computación distribuida.
Este es un modelo de dos niveles en el que
las tres líneas principales de funcionalidad se dividen en dos tipos de componentes.
Una instanciación en ejecución de una aplicación CS comprende al menos dos componentes: al menos un cliente y al menos un servidor.
La lógica empresarial de la aplicación se divide en estos componentes que tienen
roles definidos e interactúan de una manera precoreografiada en varios grados en diferentes aplicaciones.
Arquitectura de tres niveles y múltiples
Es una forma de arquitectura de dos niveles, su principal fortaleza arquitectónica es su simplicidad.
No es escalable por varias razones:
La lógica de la aplicación concentrada en
el tipo de componente de servidor único (y por lo tanto la complejidad del componente aumenta aproximadamente linealmente con funcionalidad);
Las limitaciones de flexibilidad y robustez que surgen de las relaciones de comunicación directa entre el usuario del servicio y el proveedor del servicio
El desempeño cuello de botella que surge porque todos los clientes se conectan a un servicio específico, que puede comprender
una única instancia de proceso.
Peer-to-Peer
El término par significa "con igual categoría"
La descripción de peer-to-peer sugiere
que para que una aplicación de este tipo alcance la funcionalidad completa, es necesario que haya varios componentes del mismo nivel interactuando aunque esto depende del diseño de la aplicación real y de los componentes del mismo nivel.
Objetos Distribuidos
Es que divide la funcionalidad
de una aplicación en muchos componentes pequeños (basados en los objetos en el código), lo que les permite
distribuirse de formas muy flexibles entre los equipos disponibles.
Soporte para Arquitectura de Software
Esta sección trata sobre la forma en que el middleware admite arquitecturas de software.
El middleware es esencialmente una capa de software que se encuentra conceptualmente entre los procesos y la red de computadoras
Modelos de Sistema de Recursos Colectivos y Computación
Es necesario considerar cuidadosamente el diseño de los sistemas de computadoras sobre los cuales estas aplicaciones corren
El desarrollador de software probablemente no participará directamente en la selección de
hardware de procesamiento y las tecnologías de red que los unen.
Data Centers
Los centros de datos se caracterizan por colecciones muy grandes de recursos de procesamiento y almacenamiento
La capacidad de procesamiento se ofrece como un servicio a las organizaciones que necesitan grandes grupos de recursos informáticos.
Biblioteca de Software
Los programas simples con funcionalidad limitada se pueden desarrollar como un archivo fuente único que contiene el código del programa.
Estos programas son cada vez más raros a medida que el grado de funcionalidad y complejidad de aplicaciones aumenta.