31
ARQUITETURAS DE SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PR Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla

PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

ARQUITETURAS DE SISTEMAS DISTRIBUÍDOS

Prof. Cesar Augusto Tacla

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁPR

Prof. Cesar Augusto Taclahttp://www.dainf.ct.utfpr.edu.br/~tacla

Page 2: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Sumário

1. Definição de arquitetura

2. Arquiteturas típicasa. Cliente-servidor

b. Cliente-servidor em cadeia e servidores replicados

c. Cliente-servidor com código móvel

d. Peer-to-peer

22

d. Peer-to-peer

Page 3: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Sumário

DEFINIÇÃO DE ARQUITETURA

1

33

Page 4: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Arquitetura

◊ O que é arquitetura de um sistema distribuído?

◊ Define� as relações entre estes componentes;

� a divisão de responsabilidades (ex. cliente, servidor)

� a localização dos componentes do sistema;

44

� e como estas componentes são mapeados para a infra-estrutura de rede

� (Coulouris et al., 2001)

Page 5: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Arquitetura: relações entre componentes

cmp Projeto

«executable»Cliente

+ enviar(byte[]) : void+ receber() : byte[]

«executable»Serv idor

+ enviar(byte[]) : void+ receber() : byte[]

55

+ receber() : byte[]Comunicacao

Config

«access»

Papéis funcionais: Os componentes cliente e servidor são capazes de enviar e receber bytes (vetor de bytes).

Page 6: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

arquitetura: localização

deployment Projeto

«execution environ...Desktop

«execution environ...Desktop

«TCP/IP»

66

«executable»Cliente

+ enviar(byte[]) : void+ receber() : byte[]

«executable»Serv idor

+ enviar(byte[]) : void+ receber() : byte[]

Comunicacao

Config

«access»

Onde, fisicamente, cada componente do sistema deverá funcionar

Page 7: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Sumário

ARQUITETURAS TÍPICAS

2

77

Page 8: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Sumário

Cliente-servidor

2 a

88

Page 9: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Arquiteturas típicas

◊ Cliente-servidor� 1 servidor

� Vários servidores

� Em cadeia

� Replicados

� Com código móvel (applets)

◊ P2P: peer-to-peer� Pura: descentralizada

� Híbrida com cliente-servidor

99

� Com código móvel (applets)

� Push

� Network computer

� Thin-client

Page 10: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Arquitetura cliente-servidor (1)

CLIENTESERVIDOR

CLIENTE

solicitação

resposta

Request-reply

1010

◊ Arquitetura mais utilizada em SDs (Coulouris et al., 2001)

CLIENTE

Page 11: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Sumário

Cliente-servidor em cadeia e servidores replicados

2 b

1111

Page 12: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Arquitetura cliente-servidor em cadeia

CLIENTESERVIDOR

PROXY

CLIENTE

solicitação

resposta

SERVIDORWEB

solicitação

resposta

com cache

1212

CLIENTE respostaSERVIDOR

WEB

SERVIDORWEB

◊Um servidor pode ser cliente de outro.

Page 13: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Arquitetura cliente-servidor: replicados

CLIENTESERVIDOR

solicitação

resposta

SERVIDOR

serviço

sincronização

1313

◊ Serviço ofertado por vários servidores.

◊ Ver página inicial de www.tucows.com.br, www.google.com

CLIENTE

SERVIDOR

SERVIDOR

sincronização

Page 14: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Sumário

Cliente-servidor com código móvel

2 c

1414

Page 15: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Cliente-servidor: código móvel (1)

CLIENTESERVIDOR

WEB

solicitação

Página com appletAPPLET

1515

CLIENTE APPLET

Cliente interage diretamente com a applet

SandboxJVM do navegadorCertificado digital para sair

Page 16: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Cliente-servidor: código móvel (3)

Cliente interage diretamente com a applet

SERVIDOR

◊ Arquitetura cliente-servidor tipo push

Applet se comunica com o servidor para manter cliente atualizado

1616

CLIENTE APPLET SERVIDORWEB

Page 17: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Cliente-servidor: “push” (4)

APPLET

Arquitetura push écomo se o servidorenviasse (empurrasse)

1717

terra.com.br

APPLET

enviasse (empurrasse) dados para os clientes.

Page 18: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Cliente-servidor: “push” (4)

APPLET

1818

APPLET

terra.com.br bb.com.br

Page 19: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Sumário

Peer-to-peer

2 d

1919

Page 20: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

PEER-TO-PEER (P2P)

◊ Processos desempenham papéis similares� Não há distinção entre cliente e servidor

� Um peer pode ser ora cliente ora servidor

� Peer ou pares atuam cooperativamente

2020

PEER

PEER

PEER

“Todos os hosts são iguais”

Page 21: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

PEER-TO-PEER (P2P)

◊ Idéia de P2P é antiga� 1962, Licklider (MIT): Intergalatic Network

� Network Control Program

� Primeiro protocolo “host-to-host” NCP

� Precursor do TCP/IP

2121

◊ Alguns eventos levaram ao predomínio do cliente-servidor ���� próximo

Page 22: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

P2P x Cliente-servidor

◊ Por que a arquitetura cliente-servidor predomina?� A Internet tornou-se gradualmente mais comercial, levando as

empresas a criarem firewalls para protegerem as informações e controlarem o acesso

� Milhões de pessoas se conectam a Internet por meio de seus desktops que não podem competir com o poder de processamento

2222

desktops que não podem competir com o poder de processamento dos servidores que formam a espinha dorsal da Internet

� Muitas aplicações da Internet se baseiam na arquitetura cliente-servidor: WWW, FTP, Facebook, Twitter

Page 23: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

Conceito P2P

É uma classe de aplicações que se beneficia dos recursos disponíveis nas pontas da Internet.

Internet �

��

2323

Internet.[Clay Shirky apud Gradecki, 2002 pg. 2]

��

Page 24: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

P2P: arquitetura descentralizada

◊ Não há autoridade central

◊ Pacotes contêm informação sobre o próximo step

◊ Peers atuam como clientes e servidores

2424

servidores� Servents = servers + clients

◊ Exemplos� Gnutella

Page 25: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

P2P: Gnutella descentralizada

PeerA

PeerB Peer

C

1. Inicia busca (“bossa nova”) 3. Repassa busca (“bossa nova”)

4. Retorna resultado6. Retorna resultado

. . .

2525

2. RegistraItens solicitados

5. Verifica quem solicitou busca

4. Retorna resultado6. Retorna resultado

Page 26: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

P2P: arquitetura híbrida

◊ Peers são clientes qdo necessitam informação de outro cliente

◊ Cliente contata um servidor central servidores

2626

◊ Servidor retorna clientedesejado

◊ Clientes se conversam (peers)

◊ Ex.: Napster, msn

Page 27: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

P2P: Napster arquitetura híbrida

3. Requisição de

MP3

ServidoresNAPSTER

2. anúncio

1. Baixa o sw

2727

5. Transferência

de arquivo

usuário usuário

2. anúncio

4. Resultados (arquivo, conexão)*

Page 28: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

LEITURA

Carey, M.J., "SOA What?," Computer , vol.41, no.3, pp.92-94, March 2008

Abstract: While the Internet's human-facing side is undergoing the Web 2.0 revolution, the machine- facing side is likewise experiencing a major transformation-from an application-based to a service-oriented architecture-both within and across enterprise boundaries.

http://ieeexplore.ieee.org/iel5/2/4476206/04476233.pdf?isnumber=4476206&prod=JNL&arnumber=4476233&arnumber=4476233&arSt=92&ared=94&arAuthor=Carey%2C+M.J.

2828

Goth, G., "Software-as-a-Service: The Spark That Will Change Software Engineering?," Distributed Systems Online, IEEE , vol.9, no.7, pp.3-3, July 2008

Abstract: In the past year, SaaS has emerged from its pioneering group of start-ups and medium-sized vendors delivering software on demand to be embraced by software giants such as Oracle and SAP. Some veteran technologists and industry analysts also see SaaS as a catalyst for more interactive, iterative software development.

http://ieeexplore.ieee.org/iel5/8968/4589946/04589949.pdf?isnumber=4589946&prod=JNL&arnumber=4589949&arnumber=4589949&arSt=3&ared=3&arAuthor=Goth%2C+G.

Page 29: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

LEITURA

Kiran Nagaraja; Rollins, S.; Khambatti, M., "From the editors: peer-to-peer community: looking beyond the legacy of Napster and Gnutella," Distributed Systems Online, IEEE , vol.7, no.3, pp.-, March 2006

Abstract: Owing to the popularity of Napster and its successors, including Gnutella, Kazaa, Morpheus, and E-Donkey, file sharing has become by far the killer P2P application. Its popularity almost eclipses other P2P applications. Moreover, much P2P research has targeted the challenges facing these popular file-sharing networks. P2P applications started to use superpeers

2929

challenges facing these popular file-sharing networks. P2P applications started to use superpeers (a set of more powerful nodes in a heterogeneous network) to transform the existing flat topology of these networks into a hierarchical one. Superpeers are considered faster and more reliable than normal peers and take on server-like responsibilities. The field of P2P has yet to realize its full potential in the application domain.

http://ieeexplore.ieee.org/iel5/8968/33951/01621018.pdf?isnumber=33951&prod=JNL&arnumber=1621018&arnumber=1621018&arSt=&ared=&arAuthor=Kiran+Nagaraja%3B+Rollins%2C+S.%3B+Khambatti%2C+M.

Page 30: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

LEITURA

Kurdi, H.; Li, M.; Al-Raweshidy, H., "A Classification of Emerging and Traditional Grid Systems,"Distributed Systems Online, IEEE , vol.9, no.3, pp.1-1, March 2008

Abstract: Advances in grid computing are stimulating the emergence of novel types of grids, such as accessible, manageable, interactive, and personal grids. More and more researchersare realizing emerging grids' potential to bridge the gap between grid technologies and users. This review of emerging grids sets out to develop a comprehensive classification of both

3030

This review of emerging grids sets out to develop a comprehensive classification of bothtraditional and emerging grid systems, with an aim to motivate further research and to help establish a solid foundation in this rapidly developing field.

http://ieeexplore.ieee.org/iel5/8968/4483778/04483779.pdf?isnumber=4483778&prod=JNL&arnumber=4483779&arnumber=4483779&arSt=1&ared=1&arAuthor=Kurdi%2C+H.%3B+Li%2C+M.%3B+Al-Raweshidy%2C+H.

Este artigo tem 13 páginas!!!

Page 31: PR · 2021. 2. 16. · Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR solicitação resposta SERVIDOR serviço sincronização 1133 Serviço ofertado por vários servidores

LEITURA

Barroso, L.A.; Dean, J. ; Holzle, U. Web search for a planet: the google cluster Architecture, IEEE MICRO, IEEE Computer Society, pp.22-28, 2003

Abstract: Amenable to extensive parallelization, google’s web search application lets different queries run on different processors and, by partitioning the overall index, also lets a single query use multiple processors. To handle this workload, google’s architecture features clusters of more than 15,000 commodity class pcs with fault-tolerant software. This architecture achievesSuperior performance at a fraction of the cost of a system built from fewer, but more expensive,

3131

Superior performance at a fraction of the cost of a system built from fewer, but more expensive, high-end servers.

http://www.google.com.br/url?sa=t&source=web&cd=10&ved=0CGcQFjAJ&url=http%3A%2F%2Flabs.google.com%2Fpapers%2Fgooglecluster-ieee.pdf&rct=j&q=how%20google%20replicate%20its%20search%20engine%3F&ei=ERJpTe73LciCtgfiuZXnAg&usg=AFQjCNFy_Z4ce-C7wTV3qxw28cQmWQXCPA.%3B+Li%2C+M.%3B+Al-Raweshidy%2C+H.