sistemas distribuídos - tlc-networks.polito.it · arquitetura a idéia inicial de suportar...
TRANSCRIPT
![Page 1: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/1.jpg)
Sistemas Distribuídos
Professora: Ana Paula CoutoDCC 064
![Page 2: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/2.jpg)
Sistemas Distribuídos Basedos na Web
Capítulo 12
![Page 3: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/3.jpg)
Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação
![Page 4: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/4.jpg)
Introdução (1) Sistema para acessar documentos → Servidores
mantêm conjuntos de documentos enquanto clientes fornecem a usuários uma interface de fácil utilização para apresentar os documentos
O “conceito” de Web foi criado em 1989, no CERN: permitir aos pesquisadores acessar documentos compartilhados por meio de um sistema simples de hipertexto
Grande impulso com o surgimento de interfaces gráficas para o acesso dos documentos (Mosaic)
![Page 5: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/5.jpg)
Introdução (2)
Atualmente, o conceito de Web é muito mais amplo, estendendo a sua funcionalidade para diversos serviços
Diversos conceitos subjacentes à tecnologia da Web são baseados nos princípios que estudamos na disciplina
![Page 6: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/6.jpg)
Arquitetura
A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990
Documentos passaram de puramente estáticos e passivos para dinamicamente gerados
Adicionalmente, muitas organizações começaram a suportar serviços em vez de apenas documentos
![Page 7: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/7.jpg)
Sistemas tradicionais baseados na Web (1)
Existe uma clara distinção entre os sistemas Web que estavam disponíveis no inicio e os que são utilizados hoje
Sistemas baseados na Web são organizados como arquiteturas cliente-servidor:
– Núcleo de um site é formado por um processo que tem acesso a um sistema de arquivos local que armazena documentos
– Documentos são referenciados através de um localizador uniforme de recurso (URL)
![Page 8: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/8.jpg)
Sistemas tradicionais baseados na Web (2)
Uma URL:– Especifica onde um documento está
localizado.– Muitas das vezes possui o nome DNS de um
servidor, juntamente com um nome de arquivo pelo qual o servidor pode consultar o documento em seu sistema de arquivos local.
– Especifica o protocolo de camada de aplicação para transferir o documento pela rede.
![Page 9: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/9.jpg)
Sistemas tradicionais baseados na Web (3)
Cliente:– Interação é feita por meio de um browser– A comunicação entre um browser e um
servidor obedece ao protocolo de transferência de hipertexto (HTTP)
![Page 10: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/10.jpg)
Documentos Web (1) Um documento ou página Web consiste de um
conjunto de objetos– Um objeto é um arquivo –
HTML,JPEG,GIF, applet Java, audio – que é endereçavel usando uma URL
A maioria das páginas Web consiste de um arquivo de base HTML (linguagem de marcação de hipertexto) e vários objetos referenciados
– No entanto, a linguagem de marcação XML (linguagem extensível de marcação) está tornando-se popular. Motivo: Maior flexibilidade para definir qual deve ser a aparência de um documento
![Page 11: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/11.jpg)
Documentos Web (2)
HTML e XML podem incluir links que referenciam documentos embutidos → referências a arquivos que devem ser incluídos para tornar um documento completo
– Como os browsers farão para manipular os diferentes formatos de arquivos e modos de interpretar os documentos embutidos?
• Necessário especificar o tipo de documento embutido e um modo de permirtir que um browser manipule dados de um tipo específico
![Page 12: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/12.jpg)
Documentos Web (3)
Cada documento embutido tem um tipo Mime (trocas de multiuso do correio de Internet) associado
– Originalmente desenvolvido para fornecer informações sobre o conteúdo do corpo de uma mensagem enviada como parte de correio eletrônico
– Distingue vários tipos de conteúdos de mensagens: tipos de alto nível e subtipos
– Tipo do documento é representado como uma combinação de tipo de alto nivel e subtipo.
![Page 13: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/13.jpg)
Documentos Web (4)
![Page 14: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/14.jpg)
Documentos Web (5)
Em alguns casos, quando o tipo de documento ainda não é padrão, o servidor Web deverá fornecer a aplicação que “decodificará” o documento
– Pode ser um programa separado, que será executado à parte de um browser
– Pode ser um plug-in, que pode ser instalado como parte do browser
Quando certos tipos alcançam popularidade, os programas que os “decodificam” são fornecidos juntamente com os browsers ou suas atualizações
![Page 15: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/15.jpg)
Arquitetura Multicamadas (1)
Inicialmente, sistema cliente-servidor de duas camadas, relativamente simples
Atualmente, essa arquitetura simples foi ampliada com numerosos componentes para suportar o tipo de documentos avançados
Aprimoramento com o suporte para interação simples do usuário → CGI
– Novo padrão pelo qual um servidor Web pode executar um programa tomando os dados do usuário como entrada
– Dados são enviados através de formulários
![Page 16: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/16.jpg)
Arquitetura Multicamadas (2)
![Page 17: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/17.jpg)
Arquitetura Multicamadas (3)
Sites Web atuais são organizados conforme uma arquitetura de três camadas:
– Servidor Web → definição tradicional– Servidor de Aplicação → executa todos os
tipos de programas, que podem ou não acessar camada de banco de dados
– Servidor de Banco de Dados → dados a serem pesquisados
![Page 18: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/18.jpg)
Serviços Web (1)
Consideremos uma livraria eletrônica.– Fazer o pedido de compra de um livro
requer selecionar o livro, pagar e garantir sua entrega
– Neste caso, temos um serviço Web complexo, formado por vários serviços básicos
– A complexidade aumenta se considerarmos serviços Web oferecidos que combinam serviços de diferentes provedores
![Page 19: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/19.jpg)
Serviços Web (2)
Para serviços compostos, é importante que o cliente veja um serviço coerente
Importante: Protocolos de coordenação são usados, com o objetivo de descrever as várias etapas que precisam ocorrer para que o serviço possa ser bem sucedido.
– Dificuldade: como os participantes desse protocolo vão realizar as etapas corretas no momento correto? Coordenador único
![Page 20: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/20.jpg)
Processos – Clientes (1) Programas clientes são chamados browsers Ideal que sejam independentes da plataforma na qual
serão executados
![Page 21: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/21.jpg)
Processos – Clientes (2) Um outro processo do lado do cliente é um proxy
Web– Originalmente, era usado para permitir um
a browser manipular protocolos de camada de aplicação que não fossem o HTTP
![Page 22: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/22.jpg)
Processos – Clientes (3)
Nos sistemas atuais, proxies são usados para:– Filtrar requisições e respostas– Armazenar informações: cache
![Page 23: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/23.jpg)
Processos – Servidores (1)
É importante que o servidor tenha alta capacidade de configuração e que seja independente de plataformas específicas
![Page 24: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/24.jpg)
Processos – Servidores (2) O servidor mais popular é o Apache Para prover independência de plataforma, fornece
o seu ambiente de execução básico, que é ampliado para atender a uma plataforma específica
– Apache Portable Runtime – fornece interface independente de plataforma para manipulação de arquivos, trabalhos em rede, threads, etc
– Todas as requisições que são feitas obedecem a um modo de comunicação orientado a conexão, baseado em TCP
![Page 25: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/25.jpg)
Processos – Servidores (3)
![Page 26: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/26.jpg)
Clusters de Servidores Web (1) Para evitar a sobrecarga de um servidor, pode-se replicar
o servidor em um cluster de servidores e um mecanismo separado, como um front end, para redirecionar requisições de clientes a uma das réplicas
![Page 27: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/27.jpg)
Clusters de Servidores Web (2)
Front ends:– Camada de transporte: Repassa os dados
enviados ao longo da conexão TCP para um dos servidores, dependendo de certa medição de carga. Desvantagem: Não pode levar em conta o conteúdo da requisição HTTP
– Distribuição em função de conteúdo: front end inspeciona uma requisição HTTP que chega e depois decide para qual servidor ele deve repasssar essa requisição
![Page 28: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/28.jpg)
Clusters de Servidores Web (2)
Outras alternativas:– DNS de varredura cíclica: um único nome
de dominio é associado com vários endereços IP → browser cliente recebe uma lista de endereços e normalmente escolhe o primeiro da lista → servidores DNS movem em círculo as entradas das listas
– Servidores com mesmo endereço em uma única LAN em broadcast → todos os servidores receberão a requisiçao, e através da execução de um algoritmo distribuído, decidem qual o servidor que manipulará a requisição
![Page 29: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/29.jpg)
Comunicação (1)
Protocolo de transferência de hipertexto– Toda comunicação entre clientes e
servidores é baseada no protocolo de transferência de hipertexto (HTTP)
– Protocolo simples, um cliente envia uma mensagem de requisição a um servidor e espera por uma mensagem de resposta
– Protocolo sem estado → não requer que um servidor mantenha informações sobre seus clientes
![Page 30: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/30.jpg)
Comunicação – Conexões HTTP (1)
Não persistente versus persistente
![Page 31: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/31.jpg)
Comunicação – Métodos HTTP (1)
head, get, put, post, delete
![Page 32: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/32.jpg)
Nomeação
Para identificar um documento Web, são usados identificadores uniformes de recursos (URIs)
Um localizador uniforme de recurso (URL) é uma URI que identifica um documento pela inclusão de informações sobre como e onde acessá-lo → referência a um documento que depende de localização
A sintaxe de uma URI depende do esquema associado: http, ftp ou telnet
![Page 33: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/33.jpg)
Nomeação
![Page 34: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/34.jpg)
Nomeação
![Page 35: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/35.jpg)
Sincronização
Devido a estrutura 'tradicional' de sistemas Web a questão de sincronização não vinha recebendo muita 'atenção'
– A organização estrita cliente – servidor, na qual servidores não trocavam informações com outros servidores
– Sistema que, na maioria da vezes, é somente de leitura
No entanto, novos serviços Web necessitam de sincronização e coordenação: elaboração colaborativa de documentos e serviços Web
![Page 36: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/36.jpg)
Consistência e Replicação
Para garantir desempenho e disponibilidade, replicação é a técnica utilizada em sistemas Web
Problema: Consistência! Utilização de caches!
![Page 37: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/37.jpg)
Consistência e Replicação – Proxy de cache
A cache do lado do cliente pode ocorrer em dois lugares:
– No browser: sempre que um documento for buscado, ele é armazenado na cache do browser, de onde será carregado da próxima vez → clientes podem configurar a cache para verificação de consistência
– Proxy Web: aceita requisições e repassa para servidores → cache compartilhada
![Page 38: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/38.jpg)
Consistência e Replicação – Proxy de cache
Outras maneiras de organização de cache:– Cache cooperativa ou distribuída:
• Sempre que ocorrer uma ausência dea cache em um proxy Web, é feita uma verificação em alguns proxies vizinhos para ver se um deles contém o documento
• Primordialmente com caches Web que pertencem à mesma organização e que estão na mesma LAN
![Page 39: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/39.jpg)
Consistência e Replicação – Proxy de cache
![Page 40: Sistemas Distribuídos - tlc-networks.polito.it · Arquitetura A idéia inicial de suportar documentos distribuídos evolui desde seu início, na década de 1990 Documentos passaram](https://reader034.vdocuments.site/reader034/viewer/2022050903/5bf4685f09d3f26d518c8208/html5/thumbnails/40.jpg)
Consistência e Replicação – Proxy de cache
Outras maneiras de organização de cache:– Cache Hierárquica:
• Caches são colocadas em uma região ou até mesmo em um país
• Assim, caches são pesquisadas de uma maneira hierárquica, o que pode aumentar a latência de resposta
• No entanto, é alta a probabilidade de encontrar uma cópia de documentos populares em uma cache mais próxima