arquitectura de sistemas distribuidos
TRANSCRIPT
![Page 1: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/1.jpg)
Sistemas Distribuidos Ing. Johnny SolórzanoUniversidad de Cuenca
ARQUITECTURA DE SISTEMAS DISTRIBUIDOS
![Page 2: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/2.jpg)
2
Objetivos
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
1• Identificar las características básicas en un sistema
distribuido.
2• Identificar las arquitecturas de computación
distribuidas
3• Describir el modelo cliente servidor
4• Describir las arquitecturas de P2P (Peer to peer)
![Page 3: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/3.jpg)
3
Tópicos Cubiertos
Arquitectura de Sistemas Distribuidos
Introducción Ventajas y desventajas de los Sistemas Distribuidos Características de los Sistemas Distribuidos Primitivas de Comunicación
TCP/IP Sockets Protocolo
Arquitecturas para computación distribuida Arquitecturas desde el punto de vista del Software o Lógico Arquitecturas desde el punto del vista de l Hardware
Conclusiones
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
![Page 4: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/4.jpg)
4
Introducción
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Definición de Sistemas Distribuidos:“Un Sistema Distribuido es una colección de computadores
independientes que aparecen ante los usuarios como un único sistema coherente.” (Andrew S. Tanenbaum).
“Un sistema en el cual tanto los componentes de hardware y software de un computador conectados en red se comunican y coordinan
mediante paso de mensajes.” (G.Coulouris, J.Dollimore, T.Kindberg)
![Page 5: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/5.jpg)
5
Ventajas y Desventajas de los Sistemas Distribuidos
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Ventajas• Compartir recursos e información.• Procesadores mas poderosos y menos costosos.• Escalabilidad.• Tolerancia a fallos.
Desventajas• Requerimiento de mayores controles de procesamiento.• Disminución en la velocidad de propagación de la información.• Múltiples puntos de fallo• Aspectos de seguridad.
![Page 6: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/6.jpg)
6
Características de los Sistemas Distribuidos
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Heterogeneidad• Soporte para diferentes tipos de Sistemas Operativos, redes, lenguajes de programación, etc.
Transparencia• Visión de los recursos como un único sistema.
Escalabilidad• Capacidad para crecer sin ningún problema
Fiabilidad• Capacidad para realizar las operaciones para las que fue creado
Disponibilidad• El sistema siempre tiene que estar en línea.
Tolerancia a Fallos• Capacidad de seguir disponible pese a un problema.
Consistencia• Asegurar el estado global.
![Page 7: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/7.jpg)
7
Primitivas de Comunicación
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Primitivas de Comunicación• Consisten en el conjunto mínimo de características que permitirán realizar la
comunicación de un sistema distribuido.
• Incluyen:
Modelo TCP/IP
Protocolo
Sockets
![Page 8: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/8.jpg)
8
Primitivas de Comunicación: TCP/IP (1/3)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
TCP/IP• Protocolo utilizado por los dispositivos conectados a una red / Internet
• El funcionamiento del protocolo es independiente del sistema operativo.
![Page 9: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/9.jpg)
9
Primitivas de Comunicación: TCP/IP (2/3)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
TCP (Transfer Control Protocol)– Establecimiento de la conexión (3 pasos)
1. Syn 2. Syn-ack3. Ack
– Transferencia de datos (similar a una llamada telefónica)
![Page 10: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/10.jpg)
10
Primitivas de Comunicación: TCP/IP (2/3)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
TCP (Transfer Control Protocol)– Establecimiento de la conexión (3 pasos)
1. Syn 2. Syn-ack3. Ack
– Transferencia de datos (similar a una llamada telefónica)
0 15 16 31
![Page 11: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/11.jpg)
11
Primitivas de Comunicación: TCP/IP (3/3)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Puertos TCP – Es una numeración lógica que se asigna a las conexiones tanto en el origen como en el
destino
• Puertos Lógicos 2^16 = 65535 puertos
• Puertos bien conocidos 0 – 1023
• registrados y dinámicos
IP (Internet Protocol)– Es un protocolo de comunicación de datos que se encuentra en la capa de red.
– Direccionamiento IP
![Page 12: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/12.jpg)
12
Primitivas de Comunicación: Protocolo (1/2)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
ProtocoloEs un conjunto de reglas y normas que permiten que dos o más entidades de un
se comuniquen entre ellos.
Define:
– Manera de localizar un servicio
• Estática (dirección y Puerto del servidor) FTP (21), HTTP(80), SMTP (25)
![Page 13: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/13.jpg)
13
Primitivas de Comunicación: Protocolo (2/2)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Protocolo– Secuencia de comunicación entre procesos
– Representación e interpretación de los resultados• La aplicación decide el formato del los resultados (xml, json, etc)
Cliente ServidorPetición 1
Respuesta 1
Petición 2
Respuesta 2
Tiempo
![Page 14: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/14.jpg)
14
Primitivas de Comunicación: Sockets (1/2)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Sockets• Interfaz de comunicación entre componentes de una red.
• Existen 3 tipos:– Orientados a la conexión (TCP)
– No orientados a la conexión (UDP)
– RAW: Son sockets que dan acceso directo a la capa de software de red o a protocolos de más bajo nivel.
• Utilizan un puerto y una dirección de red para establecer una conexión.
![Page 15: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/15.jpg)
15
Primitivas de Comunicación: Relación Sockets / procesos (2/2)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Relación entre sockets y procesos
![Page 16: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/16.jpg)
16
Arquitecturas para computación distribuida
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Existen 2 enfoques para clasificar las arquitecturas:
Punto de vista de Software o lógico• Basados en capas• Basados en objetos• Centrados en datos• Basados en eventos
Punto de vista de Hardware• Centralizadas• Descentralizadas
![Page 17: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/17.jpg)
17
Arquitecturas para computación distribuida: SW (1/9)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
• Esta arquitectura está formulada en términos de componentes.
• Un componente es la unidad modular.
• Conector mecanismo que media la comunicación
• Arquitecturas basadas en la interconexión de los componentes y conectores.– Arquitecturas basadas en capas– Arquitecturas basadas en objetos– Arquitecturas centradas en datos– Arquitecturas basadas en eventos
![Page 18: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/18.jpg)
18
Arquitecturas para computación distribuida: SW (2/9)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Arquitecturas basadas en capas• Los componentes se encuentran organizados en forma de capas.
• Un componente de una capa puede llamar a otro componente de una capa
inferior.
• La comunicación va de capa en capa.
![Page 19: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/19.jpg)
19
Arquitecturas para computación distribuida: SW (3/9)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Arquitecturas basadas en capas
![Page 20: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/20.jpg)
20
Arquitecturas para computación distribuida: SW (4/9)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Arquitecturas basadas en objetos• Un objeto vendría a ser un componente.
• Los componentes interactúan mediante un mecanismo RPC.
![Page 21: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/21.jpg)
21
Arquitecturas para computación distribuida: SW (5/9)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Arquitecturas basadas en objetos
Un cliente llama a un objeto distribuido que se encuentra en el servidor,
JAVA RMI / RPC
![Page 22: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/22.jpg)
22
Arquitecturas para computación distribuida: SW (6/9)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Arquitecturas centradas en datos• Los procesos se comunican mediante un repositorio.
• Aplicaciones distribuidas en las que la comunicación se establece por medio
de un archivo compartido a través de un sistema de archivos distribuidos
![Page 23: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/23.jpg)
23
Arquitecturas para computación distribuida: SW (7/9)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Arquitecturas centradas en datos
Un conjunto de procesadores se encuentran interconectados y usan un espacio
para intercambiar información
![Page 24: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/24.jpg)
24
Arquitecturas para computación distribuida: SW (8/9)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Arquitecturas basadas en eventos• Comunicación por medio de la propagación de eventos
• Propagación de eventos mediante publicar/suscribir.
![Page 25: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/25.jpg)
25
Arquitecturas para computación distribuida: SW (9/9)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Arquitecturas basadas en eventos
Mediante la capa de Servicios Middleware, las maquinas publican sus eventos y
únicamente los que estén suscritos recibirán los mismos.
![Page 26: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/26.jpg)
26
Arquitecturas para CD - HW: Centralizadas (1/4)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Arquitecturas centralizadas– Basadas en el modelo cliente/servidor
![Page 27: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/27.jpg)
27
Arquitecturas para CD - HW: Centralizadas (2/4)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Modelo Cliente/Servidor• Existen 2 roles: el cliente y el servidor
• Servidor– Gestiona el acceso a servicios de red.
• Cliente
– Acceden al servidor para solicitar un servicio de red.
![Page 28: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/28.jpg)
28
Arquitecturas para CD - HW: Centralizadas (3/4)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Modelo Cliente/Servidor• Para la comunicación se debe utilizar:
– Dirección IP
– Puerto
– Sockets, tanto en el cliente como en el servidor
– Un protocolo
– Una representación de los datos
![Page 29: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/29.jpg)
29
Arquitecturas para CD - HW: Centralizadas (4/4)
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Arquitecturas centralizadas– Pueden incluir una división en capas (niveles):
– El nivel de interfaz de usuario.– El nivel de procesamiento.– El nivel de datos.
![Page 30: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/30.jpg)
30
Arquitecturas para CD - HW: Descentralizadas
Agenda Objetivos Contenidos Conclusiones Preguntas Bibliografí
a
Arquitecturas Descentralizadas • Distribuir en partes lógicamente equivalentes las funcionalidades de clientes o servidores.
– Ejemplo: sistemas p2p = peer to peer.
• En un Sistema P2P todos los clientes ponen a disposición de otros clientes sus
recursos.
• Las arquitecturas P2P se clasifican en:• Estructuradas
• No Estructuradas
![Page 31: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/31.jpg)
31
Arquitecturas para CD - HW – Descentralizadas: Peer to Peer (P2P)
Agenda Objetivos
Contenidos
Conclusiones
Preguntas
Bibliografía
P2P Estructuradas– El servidor determina que peers se conectan.
– Mediante una tabla hash distribuida (DHT – Distributed Hash Table).
– Estas redes utilizan funciones de hash distribuido y asignan valores a cada contenido y a cada
usuario en la red.
– Cada usuario es responsable de una parte específica del contenido en la red.
– Siguen un protocolo para determinar que usuario posee tal o cual contenido.
![Page 32: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/32.jpg)
32
Arquitecturas para CD - HW - Descentralizadas: Peer to Peer (P2P)
Agenda Objetivos
Contenidos
Conclusiones
Preguntas
Bibliografía
P2P NO Estructuradas
– No utilizan algoritmos para la conexión a la red.
– Si un usuario desea encontrar información específica en la red, la petición tiene que recorrer
toda la red para encontrar tantos usuarios como sea posible
– La desventaja principal con estas redes es que las peticiones no siempre podrán resolverse.
– A su vez se subdividen en:
• Puros o descentralizados• Centralizadas• Híbridos
![Page 33: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/33.jpg)
33
Arquitecturas para CD - HW – Descentralizadas: P2P No estructuradas
Agenda Objetivos
Contenidos
Conclusiones
Preguntas
Bibliografía
P2P Puras o Descentralizadas• Los nodos actúan como cliente y como servidor
• No existe un servidor central que maneje las conexiones de red.
• No hay un enrutador central que sirva como nodo y administre las direcciones
• Ejemplos: Ares Galaxy, Gnutella
![Page 34: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/34.jpg)
34
Arquitecturas para CD - HW – Descentralizadas: P2P No estructuradas
Agenda Objetivos
Contenidos
Conclusiones
Preguntas
Bibliografía
P2P Centralizadas• Existe un único servidor que maneja todas las conexiones
• Todas las conexiones dependen de un solo servidor.
• Ejemplos: Napster y audiogalaxy
![Page 35: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/35.jpg)
35
Arquitecturas para CD - HW – Descentralizadas: P2P No estructuradas
Agenda Objetivos
Contenidos
Conclusiones
Preguntas
Bibliografía
P2P Centralizadas
Napster
![Page 36: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/36.jpg)
36
Arquitecturas para CD - HW – Descentralizadas: P2P No estructuradas
Agenda Objetivos
Contenidos
Conclusiones
Preguntas
Bibliografía
P2P Hibridas• Tiene un servidor central que guarda información.
• Los nodos son los que almacenan la información a ser compartida.
• Si el servidor se cae, se mantiene la interconexión entre los nodos.
• Ejemplos: Bittorrent, eDonkey.
![Page 37: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/37.jpg)
37
Arquitecturas para CD - HW – Descentralizadas: P2P No estructuradas
Agenda Objetivos
Contenidos
Conclusiones
Preguntas
Bibliografía
P2P HíbridasBittorrent.
![Page 38: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/38.jpg)
38
Resumen (1/2)
Se han definido las características que tienen que estar presentes en un sistema distribuido.
Se ha abordado el conocimiento de algunas de las primitivas de comunicación tales como:
• Protocolo TCP/IP• Sockets
Se han identificado algunas arquitecturas de computación distribuidas tales como:
• Arquitecturas desde el punto de vista del Software• Basados en capas• Basados en eventos• Basados en objetos• Basados en datos
Presentación
Objetivos
Contenido
Conclusiones
Preguntas
Bibliografía
![Page 39: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/39.jpg)
39
Resumen (2/2)
• Arquitecturas desde el punto de vista del Hardware• Centralizadas
• Cliente/Servidor • No Centralizadas
• Arquitecturas descentralizadas (P2P)• Estructuradas• No Estructuradas
• Centralizadas• No centralizadas• Híbridas
Presentación
Objetivos
Contenido
Conclusiones
Preguntas
Bibliografía
![Page 40: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/40.jpg)
40
Conclusiones
• El protocolo TCP / IP establece las reglas a seguir para establecer una conexión.
• Los sockets son la base para la comunicación en un sistema distribuido
• Existen muchas arquitecturas de computación distribuidas.
• El modelo cliente / servidor es utilizado en varias de estas arquitecturas.
• Muchas de las arquitecturas P2P son muy utilizadas, especialmente para compartir archivos.
Presentación
Objetivos
Contenido
Conclusiones
Preguntas
Bibliografía
![Page 41: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/41.jpg)
41
PREGUNTAS
Presentación
Objetivos
Contenido
Conclusiones
Preguntas
Bibliografía
![Page 42: Arquitectura de sistemas distribuidos](https://reader035.vdocuments.pub/reader035/viewer/2022081517/58a6a6131a28ab0a7a8b5293/html5/thumbnails/42.jpg)
42
Bibliografía
Presentación Objetivos Contenidos Conclusione
s Preguntas Bibliografía
• Distributed Systems: Concepts and Design, George Coulouris, Jean Dollimore , Tim Kindberg , Gordon Blair. 2011
• Distributed Systems: Principles and Paradigms. Andrew S. Tanenbaum y Maarten van Steen. Segunda Edición, Prentice-Hall. 2007
• Distributed Computing: Principles and Applications. M.L. Liu. Addison-Wesley. 2004