Baixe o app para aproveitar ainda mais
Prévia do material em texto
- 1 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba ARQUITETURAS DE SISTEMAS DISTRIBUÍDOS Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PR - 2 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 22 Sumário 1. Definição de arquitetura 2. Arquiteturas típicas a. Cliente-servidor b. Cliente-servidor em cadeia e servidores replicados c. Cliente-servidor com código móvel d. Peer-to-peer - 3 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 33 Sumário DEFINIÇÃO DE ARQUITETURA 1 - 4 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 44 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; � e como estas componentes são mapeados para a infra-estrutura de rede � (Coulouris et al., 2001) A arquitetura de um sistema é a sua estrutura em termos dos elementos (componentes) constituintes. O objetivo de uma arquitetura (e de dividi-la em componentes) é assegurar que a estrutura satisfaça e satisfará as necessidades dos usuários. As maiores questões envolvidas na definição da arquitetura referem-se à confiabilidade, gerenciabilidade, flexibilidade e balanceamento custo-desempenho do sistema. Quando estudamos modelos de arquitetura buscamos padrões arquiteturas que definem a localização dos componentes, ou seja, onde colocar o componente na rede buscando padrões que dêem boa distribuição da carga de trabalho e dos dados. Enfim, a arquitetura trata da divisão de responsabilidades entre os componentes do sistema (processos servidores, clientes e outros processos) e de posicionar estes componentes na rede. Esta divisão de responsabilidades e posicionamento tem implicações no desempenho, confiabilidade e segurança do sistema. - 5 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 55 Arquitetura: relações entre componentes cmp Projeto «executable» Cliente + enviar(byte[]) : void + receber() : byte[] «executable» Serv idor + enviar(byte[]) : void + receber() : byte[] Comunicacao Config «access» Os componentes cliente e servidor são capazes de enviar e receber bytes (vetor de bytes). No diagrama de componentes, as relações descrevem os papéis funcionais e padrões de comunicação utilizados entre os componentes. Por exemplo, os componentes cliente e servidor são capazes de enviar e receber bytes (vetor de bytes). - 6 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 66 arquitetura: localização deployment Projeto «executable» Cliente + enviar(byte[]) : void + receber() : byte[] «executable» Serv idor + enviar(byte[]) : void + receber() : byte[] Comunicacao Config «execution environ... Desktop «execution environ... Desktop «access» «TCP/IP» Onde cada componente do sistema deverá funcionar No diagrama de componentes, representa-se os componentes localizados nos respectivos ambientes ou máquinas onde executam. - 7 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 77 Sumário ARQUITETURAS TÍPICAS 2 - 8 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 88 Sumário Cliente-servidor 2 a - 9 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 99 Arquiteturas típicas ◊ Cliente-servidor � 1 servidor � Vários servidores � Em cadeia � Replicados � Com código móvel (applets) � Push � Network computer � Thin-client ◊ P2P: peer-to-peer � Pura: descentralizada � Híbrida com cliente-servidor - 10 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1010 Arquitetura cliente-servidor (1) CLIENTE SERVIDOR ◊ Arquitetura mais utilizada em SDs (Coulouris et al., 2001) CLIENTE solicitação resposta Request-reply Um servidor pode ser cliente de outro. Por exemplo, um servidor de páginas WEB é cliente de um servidor de arquivos local que gerencia os arquivo das páginas. Outro exemplo é o proxy de WEB (ver slide seguinte). - 11 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1111 Sumário Cliente-servidor em cadeia e servidores replicados 2 b - 12 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1212 Arquitetura cliente-servidor: em cadeia CLIENTE SERVIDOR PROXY CLIENTE solicitação resposta SERVIDOR WEB solicitação resposta SERVIDOR WEB SERVIDOR WEB ◊Um servidor pode ser cliente de outro. Servidores proxy de WEB possuem um espaço de armazenamento temporário para páginas WEB recentemente visitadas pelos clientes. Ao invés de transferir todos os pedidos que chegam até ele aos servidores WEB, primeiramente verifica se a página solicitada está disponível no cache local. Caso esteja disponível e atualizada, serve-a ao cliente. Um servidor proxy aumenta a disponibilidade do serviço (caso um servidor WEB torne-se indisponível (“caia”), suas páginas continuam disponíveis em cache, e aumenta o desempenho do serviço. - 13 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1313 Arquitetura cliente-servidor: replicados CLIENTE SERVIDOR ◊ Serviço ofertado por vários servidores. ◊ Ver página inicial de www.tucows.com.br, www.google.com CLIENTE solicitação resposta SERVIDOR SERVIDOR serviço sincronização sincronização Servidores podem rodar em computadores diferentes, mas oferecendo um serviço único. Por exemplo, uma base de dados que possui muitos acessos (muitos clientes) pode ser replicada em diversos servidores que garantem a disponibilidade do serviço com um desempenho satisfatório.Por exemplo, o serviço de busca Google possui vários servidores replicados (índices para páginas WEB): http://www.google.fr/ ou .com.br ou .com. Outro exemplo, são sites que oferecem links alternativos para fazer download de arquivos. Isto indica replicação de dados (ex. www.tucows.com.br). - 14 - Copyright Cesar Augusto Tacla 2008Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1414 Sumário Cliente-servidor com código móvel 2 c - 15 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1515 Cliente-servidor: código móvel (1) CLIENTE SERVIDOR WEB CLIENTE solicitação Página com applet APPLET Cliente interage diretamente com a applet APPLET Sandbox JVM do navegador Certificado digital para sair Applets são bastante usadas e servem para ilustrar esta variação da arquitetura cliente-servidor. A vantagem de se utilizar applets (ou código móvel) é prover um tempo de resposta melhor ao usuário, principalmente nos casos onde há muita interatividade (ex. preenchimento de formulários). Como o cliente interage localmente com a applet, não há desperdício de banda de passagem e nem atrasos na comunicação entre cliente e servidor. - 16 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1616 Cliente-servidor: código móvel (3) CLIENTE APPLET Cliente interage diretamente com a applet SERVIDOR WEB ◊ Arquitetura cliente-servidor tipo push Applet se comunica com o servidor para manter cliente atualizado A applet pode comunicar-se com o servidor com o objetivo de manter o usuário atualizado. Por exemplo, uma applet consulta de tempos em tempos informações sobre cotações de ações disponíveis no servidor e mostra ao usuário. Este modelo é conhecido por “push model”. - 17 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1717 Cliente-servidor: “push” (4) APPLETAPPLET terra.com.br APPLETAPPLET Arquitetura push é como se o servidor enviasse dados de tempos em tempos para os clientes. Exemplos de applets numa arquitetura cliente-servidor do tipo push. •Banco do Brasil: http://www.bb.com.br/appbb/portal/voce/ep/inv2/InformacoesDet.jsp?Noticia.codigo=148250 •Lances de jogos de futebol (sites esportivos). - 18 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1818 Cliente-servidor: “push” (4) APPLETAPPLET APPLETAPPLET terra.com.br bb.com.br Applets numa arquitetura cliente-servidor do tipo push. Exemplos: •Banco do Brasil: http://www.bb.com.br/appbb/portal/voce/ep/inv2/InformacoesDet.jsp?Noticia.codigo=148250 - 19 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 1919 Sumário Peer-to-peer 2 d - 20 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2020 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 PEER PEER PEER “Todos os hosts são iguais” Todos os hosts são iguais no compartilhamento de recursos e comunicação. - 21 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2121 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 ◊ Alguns eventos levaram ao predomínio do cliente- servidor ���� próximo As idéias precursoras ou a visão de Licklider levou a criação do protocolo host-to-host NCP, precursor do TCP/IP. - 22 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2222 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 dos servidores que formam a espinha dorsal da Internet � Muitas aplicações da Internet se baseiam na arquitetura cliente- servidor: WWW, FTP Alguns eventos levaram ao predomínio da arquitetura cliente-servidor: -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 dos servidores que formam a espinha dorsal da Internet; -Muitas aplicações da Internet se baseiam na arquitetura cliente-servidor: WWW, FTP - 23 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2323 Conceito P2P É uma classe de aplicações que se beneficia dos recursos disponíveis nas pontas da Internet. [Clay Shirky apud Gradecki, 2002 pg. 2] Internet � � � � � - 24 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2424 P2P: arquitetura descentralizada ◊ Não há autoridade central ◊ Pacotes contêm informação sobre o próximo step ◊ Peers atuam como C/S � Servents = servers + clients ◊ Exemplos � Gnutella - 25 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2525 P2P: Gnutella descentralizada Peer A Peer B Peer C 1. Inicia busca (“bossa nova”) 2. Registra Itens solicitados 3. Repassa busca (“bossa nova”) 5. Verifica quem solicitou busca 4. Retorna resultado6. Retorna resultado - 26 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2626 P2P: arquitetura híbrida ◊ Peers são clientes qdo necessitam informação de outro cliente ◊ Cliente contata um servidor central ◊ Servidor retorna cliente desejado ◊ Clientes se conversam (peers) ◊ Ex.: Napster, msn servidores - 27 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2727 P2P: Napster arquitetura híbrida 3. Requisição de MP3 5. Transferência de arquivo Servidores NAPSTER usuário usuário 2. anúncio 1. Baixa o sw 4. Resultados (arquivo, conexão)* - 28 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2828 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. 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. - 29 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 2929 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 (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. - 30 - Copyright Cesar Augusto Tacla 2008 Especialização – Disciplina Sistemas Distribuídos – Prof. Cesar A. Tacla UTFPR/Curitiba Sistemas Distribuídos/UTFPR Prof. Cesar Augusto Tacla 3030 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 researchers are 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 traditional 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!!!
Compartilhar