Modelos Arquitect onicos de Sistemas Distribuidos
Transcript of Modelos Arquitect onicos de Sistemas Distribuidos
Conceptos
Modelos Arquitectonicos de Sistemas Distribuidos
Virginia Padilla
Universidad Nacional Experimental de Guayana
26 de mayo de 2021
Virginia Padilla Modelos Arquitectonicos
Conceptos
Contenido
1 ConceptosDefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Patrones Aquitectonicos
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Modelos Arquitectonicos
En [Coulouris, 2011]
Para comprender el modelo arquitectonico de un sistemadistribuido, el autor, [Coulouris, 2011], considera cuatro preguntasclaves :
¿Cuales son las entidades que se comunican en el sistemadistribuido?
¿Como se comunican o, mas especıficamente, que paradigmade comunicacion usan?
¿Que roles y responsabilidades esta presente en unaarquitectura?
¿Como se asignan a la infraestructura fısica distribuida (cuales su correspondencia)?
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Procesos
Procesos Conducen a vision predominante de un sistema distribuidocomo procesos acoplados y paradigmas de comunicacion entreprocesos. En la figura 1 se ilustra la organizacion de una basede datos de una red de monitoreo y los procesos que seejecutan en ella, en el lugar del operador (a), o en los sensores(b). [Steen, 2017]
Figura: Organizacion de una base de datos para una red demonitoreo, mientras se almacena y procesa informacion (a) solo enel lugar del operador, o (b) solo en los sensores.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Nodos
Nodos En algunos entornos primitivos, como las redes de sensores,los sistemas operativos pueden que no admitan abstraccionesde proceso y, las entidades que se comunican en este tipo desistemas son nodos. Ver figura 2 la organizacion de los nodosen la arquitectura Chord. Mas de Chord en: Chord
Figura: Mapeo de elementos de datos hacia nodos organizados en Chord.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Preguntas
Chord
Chord es un protocolo y algoritmo para la implementacion detablas hash distribuidas para sistemas P2P. Ver enlce Chord
¿Como se hace una busqueda en Chord?
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Hilos
Hilos En la mayorıa de los entornos de sistemas distribuidos, losprocesos se complementan con hilos, que son los puntosfinales de la comunicacion.En la figura 3 se presenta los hilos que se establecen en lacomunicacion del cliente y el servidor con el protocolosolicitud-respuesta.
Figura: Hilos en Arquitectura Cliente Servidor
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Objetos
Objetos En el enfoque de sistemas distribuido basado en objetos, uncalculo consiste en una serie de objetos interactivos querepresentan unidades para el dominio del problema dado.Se accede a los objetos a traves de interfaces, con un interfacedefinition language, IDL que proporciona un especificacion delos metodos definidos en un objeto.Por ejemplo, en la figura 4, se muestra la constitucion de laarquitectura de Corba, detallando los objetos y sus funciones.Detalles del estandard Corba en: Corba
Figura: Componentes de la arquitectura CORBA.Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Componentes
Se parecen a los objetos porque ofrecen abstraccionesorientadas a problemas para construir sistemas distribuidos ytambien son accedido a traves de interfaces.
La diferencia es que los componentes especifican no solo susinterfaces, tambien las supuestos que hacen en terminos deotros componentes/interfaces que deben estar presentes paraque un componente cumpla su funcion.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Componentes
La figura 5 muestra la arquitectura de un sistema de archivossimple que proporciona una interfaz a otros usuarios y, a suvez, que requiere conexion a un componente de servicio dedirectorio y un componente de servicio de archivo plano
Figura: Arquitectura de software basado en componentes.Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Servicios Web
Los servicios web estan estrechamente relacionado con objetosy componentes, adoptando un enfoque basado en laencapsulacion de comportamiento y acceso a traves deinterfaces.
Estan integrados en la World Wide Web, utilizando estandaresweb para representar y descubrir servicios.
Servicios WEB, SOA, es un estandard de la OMG. Puedeverlo en SOA
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Servicios Web
El esquema de la figura 6 detalla el servicio Agente de Viaje ysu integracion con otros servicios.Ejemplo: Considere el hecho de que las personas reservanvuelos, hoteles y autos de alquiler para viajes en lıneautilizando una variedad de sitios web diferentes.Si cada uno de estos sitios web proporcionara una interfaz deservicio web estandar, entonces un ”servicio de agente deviajes”podrıa utilizar sus operaciones para proporcionar alviajero una combinacion de estos servicios.
Figura: El servicio Agente de Viaje combinado con otros servicios Web.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Paradıgmas de comunicacion que usan
Considere tres tipos de paradigma de comunicacion:
Comunicacion entre procesos,
Invocacion remota
Comunicacion indirecta
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Comunicacion entre Procesos
Comunicacion entre procesos Se refiere al soporte de bajo nivelpara comunicacion entre procesos en sistemasdistribuidos
Pase de mensajeSocketMultidifusion
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Invocacion remota
Invocacion remota Representa el paradigma de comunicacion mascomun en sistemas distribuidos, cubren una gama detecnicas basadas en un intercambio bidireccionalentre entidades comunicantes.
Protocolo Solicitud-respuestaLlamada a procedimientos remotosLlamada a metodos remotos
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Invocacion Remota
Protocolo solicitud-respuesta Es un patron impuesto en un serviciosubyacente de transmision de mensajes para admitirla informatica cliente-servidor. Este paradigma esbastante primitivo y se usa en sistemas embebidosdonde el rendimiento es primordial. El enfoquetambien se utiliza en el protocolo HTTP.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Invocacion Remota
Llamadas a procedimiento remoto (Remote Procediment Call,RPC) es computacion cliente-servidor con servidoresque ofrece un conjunto de operaciones a traves de uninterfaz de servicio y clientes que llaman a estasoperaciones directamente como si estuvierandisponibles en la zona.
Invocacion de metodo remoto la invocacion de metodo remoto(Remote Method Invocation, RMI) se parece muchoa llamadas a procedimiento remoto pero en unmundo de objetos distribuidos.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Comunicacion Indirecta
Comunicacion Indirecta Se realiza a traves de una tercera entidad,lo que permite un fuerte grado de desacoplamientoentre remitentes y receptores.
Los remitentes no necesitan saber a quien estanenviando mensajes.No es necesario que los emisores y los receptoresexistan al mismo tiempo.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Comunicacion Indirecta
Comunicacion grupal La comunicacion grupal se basa en laabstraccion de un grupo que esta representado en elsistema por un identificador de grupo .
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Comunicacion Indirecta
Sistemas de publicacion-suscripcion Los sistemas pub-sub donde elnumero de productores distribuye elementos deinformacion de interes o eventos, a un numero decomsumidores (llamado tambien, sistemas basados eneventos distribuidos). Ver esquema de la arquitecturaen la figura 7.
Figura: Arquitectura Publicacion Suscripcion.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Comunicacion Indirecta
Colas de mensajes Servicio punto a punto mediante el cual elproductor los procesos pueden enviar mensajes a unacola especıfica y los procesos del consumidor puedenrecibir mensajes de la cola o ser notificado de lallegada de nuevos mensajes en el cola. Ver figura 8.
Figura: Arquitectura Colas de Mensajes.Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Comunicacion Indirecta
Espacios de tupla Los procesos pueden colocar elementosarbitrarios de datos estructurados o tuplas, en unespacio de tuplas persistente; otros procesos puedenleer o eliminar tales tuplas del espacio de tuplasespecificando patrones de interes.
Memoria compartida distribuida proporcionan un abstraccion paracompartir datos entre procesos que no compartenmemoria fısica. A los programadores se les presentauna abstraccion de lectura o escritura de estructurasde datos (compartidas) como si estuvieran en suspropios espacios de direcciones locales.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Comunicacion Indirecta
Los estilos de arquitectura segun los roles y responsabilidades quecumplen los nodos, incluyen:
Rol que juegan como clientes y servidores en la arquitecturacliente-servidor.
Mismas funciones que cumplen los nodos en una arquitecturap2p.
Rol como publicadores o suscriptores de eventos en unaarquitectura pub-sub.
Rol como productores o consumidores de mensajes en unaarquitectura basada en colas.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Correspondencia cn Infrestructura Fısica
En esta clasificacion se considera como las entidades, objetos oservicios se asignan o forman parte de la infraestructura fısicadistribuida subyacente. Se exploran tres aspectos:
Elementos que conforman la arquitectura
Patrones que usa la arquitecura y
Soluciones basadas en middleware
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Correspondencia con multiples servidores
Correspondencia deservicios a multiplesservidores Los serviciospueden implementarse comovarios servidores de procesosen computadoras separadasque interactuan segun seanecesario para proporcionarun servicio a procesos delcliente. En la figura 9 semuestra un ejemplo.
Figura: Arquitectura con multiplesservidores.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Cache
Cache. Los navegadores webmantienen un cache con laspaginas web visitadas y otrosrecursos en el sistema dearchivos local del cliente, yusa una solicitud HTTP paraverificar con el servidororiginal que las paginas encache estan actualizadas. Unservidor proxy web (figura 10)proporciona un cachecompartido de recursos webpara las maquinas cliente enun sitio o en varios sitios.
Figura: Arquitectura web proxy.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Codigo movil
Codigo movil El applet es unejemplo de codigo movil: elusuario que ejecuta unnavegador selecciona unenlace a un subprograma cuyocodigo se almacena en unservidor web; el codigo sedescarga en el navegador y loejecuta , como se muestra enla figura 11.
Figura: Arquitectura web applet.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Agentes moviles
Agentes moviles
Realizar invocaciones a los recursos locales en cada sitio quevisita, por ejemplo, acceder a entradas individuales de la basede datos.
Pueden usarse para instalar y mantener software en lascomputadoras dentro de una organizacion o para comparar losprecios de productos de varios proveedores visitando el sitio decada proveedor y realizando una serie de operaciones de basede datos.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Patrones Arquitectonicos
Patrones Arquitectonicos
Los patrones arquitectonicos, o patrones de arquitectura, danuna descripcion de los elementos y el tipo de relacion quetienen junto con un conjunto de restricciones.
Expresa un esquema de organizacion estructural esencial paraun sistema de software, que consta de subsistemas, susresponsabilidades e interrelaciones.
No son soluciones completas en sı mismas, sino que ofrecenconocimientos parciales que, cuando se combinan con otrospatrones, llevan al disenador a una solucion para un dominiode problema dado.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Patrones Arquitectonicos
Patrones Arquitectonicos
Se presentan los siguientes patrones:
Capas
Arquitectura de capas
Cliente flacos
Otras clasificaciones
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Patrones Arquitectonicos
Capas
En un enfoque por capas, un sistema complejo se divide envarias capas, con un capa dada haciendo uso de los serviciosofrecidos por la capa siguiente.
La capa referida ofrece una abstraccion de software, con capassuperiores que desconocen detalles de su implementacion, ode cualquier otra capa debajo de ellos.
En terminos de sistemas distribuidos, esto equivale a unaorganizacion vertical de servicios en capas de servicio. Ejemplode esta estructura es el middleware.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Patrones Arquitectonicos
Arquitectura de capas
Es una tecnica paraorganizar la funcionalidadde una capa determinaday colocarla en servidoresapropiados y, comoconsideracion secundaria,en los nodos fısicos.
Se asocia con laorganizacion deaplicaciones y servicioscomo se observa en lafigura 12.
Figura: Arquitectura de capas de a)dos niveles y b) tres niveles.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Patrones Arquitectonicos
Clientes flacos
Computacion distribuidaaleja la complejidad deldispositivo del usuariofinal hacia los serviciosen Internet.
Cliente ligero permite elacceso a servicios en red,proporcionados porsoluciones en la nube,con pocas demandas enel dispositivo del cliente.Ver Figura 13.
Figura: Arquitectura de clienteligero.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Patrones Arquitectonicos
Otras clasificaciones
El patron proxy, disenados para apoyar la transparencia de laubicacion en RPC o RMI.El uso de corredores o brokerage en servicios web es unpatron que admite la interoperabilidad en infraestructurasdistribuidas potencialmente complejas. Consta del trıo deproveedores de servicios, solicitante de servicios y corredor deservicios, ver la Figura 14.
Figura: Patron arquitectonico en servicios web.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Patrones Arquitectonicos
Otras patrones
En [Limoncelli, 2014], presenta una clasificacion basada enpatrones.
Estos patrones forman parte de la estructura de los sistemasdistribuidos, los mismos estan compuesto por multiplescomponentes que aportan la funcionalidad que presentan lossistemas distribuidos, como la disponibilidad y escalamientode servicios.
Se detallan tres patrones en particular:
Balanceador de carga con multiple backend de replicasServidor con multiples backendArbol de servidores
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Patrones Arquitectonicos
Balanceador de Carga con multiples replicas de backend
En este patron, Figura 15, las solicitudes se envıan al servidordel equilibrador de carga.Para cada solicitud, selecciona un backend y se reenvıa lasolicitud allı.La respuesta vuelve al servidor del equilibrador de carga, que asu vez la transmite al solicitante original.
Figura: Balanceador de Cargas.Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Patrones Arquitectonicos
Servidor con varios backends
El servidor recibe una solicitud, envıa consultas a muchosservidores backend y redacta la respuesta final combinandoesas respuestas.
Este enfoque se utiliza normalmente cuando la consultaoriginal se puede descomponer en una serie de consultasindependientes que se pueden combinar para formar larespuesta final.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Patrones Arquitectonicos
Servidor con varios backends
La figura 16a ilustra como un motor de busqueda simpleprocesa una consulta con la ayuda de multiples backends. Lainterfaz recibe la solicitud y transmite la consulta a losservidores backend.La figura 16b ilustra la misma arquitectura con backendsreplicados y equilibrio de carga. Es el mismo principio, pero elsistema puede escalar y sobrevivir mejor a las fallas.
Figura: Servidores Replicados.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Patrones Arquitectonicos
Arbol de servidores
Se utiliza para acceder a un granconjunto de datos o corpus. Cadahoja almacena una fraccion de losdatos.
La raız recibe la consulta y lareenvıa a los padres, quienes lareenvıan a los servidores hoja.
Las hoja envıa sus hallazgos a lospadres, que clasifican y filtran losresultados antes de enviarlos a laraız. La raız toma las respuestas,combina los resultados y responde. Figura: Arbol de Servidores.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Middleware
Arbol de servidores
Su tarea es proporcionar un nivel superior abstraccion deprogramacion para el desarrollo de sistemas distribuidos y, conlas capas, abstraer la heterogeneidad en la infraestructurasubyacente para promover interoperabilidad y portabilidad.
Hay arquitecturas mas complejas como las que se presentanen la tabla 2.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Categorıa Subcategorıa Ejemplos
Objetos distribuidos Plataforma CORBAPlataforma Java RMI
Componentes distribuidos Componentes ligeros FractalServidores de aplicaciones SUN EJBServidores de aplicaciones CORBA
Component ModelServidores de aplicaciones JBoss
Publicacion-suscripcion - CORBA- Event Service- JMS
Cuadro: Categorıas de middleware.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Categorıa Subcategorıa Ejemplos
Colas de mensajes - Websphere MQ- JMS
Servicios web Servicios web Apache Axis
Peer-to-peer Enrutamiento superpuesto PASTRYEnrutamiento superpuesto TapestryEspecıfica a la aplicacion OceanStoreEspecıfica a la aplicacion Gnutella
Cuadro: Categorıas de middleware.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
References
Van Steen M , Tanenbaum, A (2017)
Distributed Systems
Pearson Education, Inc.
Coulouris G, Dollimore J, Kindberg T, Blair G (2011)
Distributed Systems: Concepts and Design
Addison-Wesley Publishing Company.
Verıssimo, P. and Rodrigues, L. (2012)
Distributed Systems for System Architects
Springer.
Limoncelli T, Strata R, Hogan C. (2014)
The Practice of Cloud System Administration: Designing and OperatingLarge Distributed Systems
Addison Wesley.
Virginia Padilla Modelos Arquitectonicos
Conceptos
DefinicionEntidades que se comunicanParadıgmas que usanRoles y responsabilidadesCorrespondencia con Infraestructura Fısica
Fin
Virginia Padilla Modelos Arquitectonicos