Arquitetura Cliente-Servidor Generalizada com identificação de tiers. Arquitetura Cliente-Servidor Generalizada com identificação de tiers

Documentos relacionados
Modelos Arquiteturais

o que é p2p? sistemas onde todos os nós são equivalentes em funcionalidade e no papel desempenhado ...

Carlos Ferraz

Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Sistemas Distribuídos

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

características compartilhamento de recursos sem necessidade de um elemento centralizador ciclos de CPU, armazenamento, banda...

Sistemas distribuídos. Prof. Emiliano Monteiro

PROGRAMA DE DISCIPLINA

Cliente-servidor Código móvel Agentes de software Processos pares. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Curso: Redes de Computadores

SSC643 -Avaliação de Desempenho de Sistemas Computacionais Sarita Mazzini Bruschi

Arquitetura de sistemas distribuídos

Conceitos de Sistemas Distribuídos

O que é um sistema distribuído?

Caracterização de Sistemas Distribuídos

Arquitetura de software

AULA ANTERIOR: MODELOS FUNDAMENTAIS

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software

Aula 2. Prof: Carlos Eduardo de Carvalho Dantas

Capítulo II Modelos de Programação Distribuída (parte 2)

Proposta Comercial CloudFlex

SO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação

Sistemas Operacionais

Visão do Usuário da DSM

1- Confiabilidade ( 2 ) Proteção contra perdas e estragos. 2- Integridade ( 3 ) Proteção contra interferência de cortes de funcionamento

Avaliação de Desempenho

Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS

Sistemas Operacionais: O quê? Por quê? Quando?

FUNDAMENTOS DE REDES DE COMPUTADORES AULA 2: MODELO OSI. Professor: LUIZ LEÃO

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Arquitetura de sistemas distribuídos

Sistemas Distribuídos Capítulo 2 - Aula 2

Organização para Realização de Teste de Software

INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS. Prof. Cesar Augusto Tacla

Sistema Operacionais II. Aula: Virtualização

Objetos e Componentes Distribuídos: EJB

Introdução 12 que inuenciam a execução do sistema. As informações necessárias para o diagnóstico de tais problemas podem ser obtidas através da instru

Introdução (hardware) INTRODUÇÃO Hardware. Introdução (hardware) Introdução (hardware) Introdução (hardware) Introdução (hardware)

Sistemas Operacionais Distribuídos

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

SSC643 -Avaliação de Desempenho de Sistemas Computacionais -

Desenvolvimento Baseado em Componentes: Tecnologia J2EE

Memória Compartilhada e Distribuída. _ Notas de Aula _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP

Sistemas Distribuídos Aula 8

Análise e Modelagem de Desempenho de Sistemas de Computação. Profa. Jussara M. Almeida 1 o Semestre de 2014

Sistemas Distribuídos. Processos. Edeyson Andrade Gomes

Introdução a Sistemas Operacionais. Adão de Melo Neto

DESENVOLVIMENTO DE SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos Aula 03

Tipos de Sistemas Operacionais

Sistemas Distribuídos

3 Sistemas distribuídos em arquiteturas P2P

Pós-Graduação em Computação Distribuída e Ubíqua

Organização e Arquitetura de Computadores I

Capítulo 11 Sistemas de Arquivos

Capítulo II Modelos de Programação Distribuída (parte 3)

Catálogo de Serviços 5º CTA Versão Atualizado em 27/04/2016 SUMÁRIO 1

Banco de Dados Distribuído

Engenharia de Software II

Servidor Proxy armazenamento em cache.

Sistemas Distribuídos

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Sistemas Operacionais

Bruno Antunes da Silva UFSCar - Sorocaba

Sistemas Distribuídos

Sistemas Distribuídos

Modelos Fundamentais. Carlos Ferraz.

Transporte Multimídia em Redes. Transporte Multimídia em Redes. Transmissão multimídia em tempo real. Categorias dos protocolos

Middleware. Camada Intermediária de Suporte a Sistemas Distribuídos

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software

Conceitos de Análise de Desempenho

Sumário. 1 Caracterização de Sistemas Distribuídos 1. 2 Modelos de Sistema Redes de Computadores e Interligação em Rede 81

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Curso de Sistemas Distribuídos

LanUn1vers1ty 6421: CONFIGURANDO E SOLUCIONANDO PROBLEMAS EM UMA INFRAESTRUTURA DE REDES WINDOWS SERVER 2008

Engenharia de Software

Sistemas Multiprogramáveis/Multitarefa

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1

Engenharia de software distribuído. Artur Sampaio Lívia Castro Degrossi

Organização de Computadores

trabalho Heitor Oliveira,Rafael Aleixo,Alex Rodrigues September 2013

Sistemas Operacionais

SISTEMAS DISTRIBUÍDOS

Sistemas Operacionais. Visão Geral

Administração Central Unidade de Ensino Médio e Técnico - Cetec. Ensino Técnico. Habilitação Profissional: TÉCNICO EM INFORMÁTICA PARA INTERNET

Introdução à Ciência da Computação

Sistemas Operacionais de Redes Windows. Ricardo Kléber

Data Warehouse ETL. Rodrigo Leite Durães.

Aula 1: Introdução aos Sistemas Operacionais. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Transcrição:

Projeto de Sistemas Distribuídos Prof João Paulo A Almeida (@infufesbr) Projeto de Sistemas Distribuídos Até agora consideramos apenas a infraestrutura para a construção de aplicações distribuídas (middleware) Já vimos um exemplo de sistema distribuído construído com middleware: Servidor de nomes Na aula de hoje, vamos considerar o projeto de sistemas: Arquiteturas possíveis Critérios a serem usados Inclui slides de Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn 4 Importantes decisões arquiteturais 1 Divisão de responsabilidades entre partes (componentes) do sistema Arquitetura e-servidor Básica A divisão de responsabilidades entre cliente e servidor já conhecemos em parte (orientação a objetos) Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn 4 Arquitetura e-servidor Básica Arquitetura e-servidor Generalizada A divisão de responsabilidades entre cliente e servidor já conhecemos em parte (orientação a objetos) Linhas de execução De partes diferentes são em geral independentes Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn 4 Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn 4 1

Arquitetura e-servidor Generalizada com identificação de tiers Arquitetura e-servidor Generalizada com identificação de tiers Apresentação (interação com usuário) Lógica de Sessão Banco de dados Requisições a um serviço Acesso ao serviço Recursos (dados, computacionais) Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn 4 Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn 4 Arquitetura e-servidor Básica Temos que considerar também a localização dos objetos Por que? Flexibilidade na Localização de objetos Porque o middleware nos permite definir a aplicação independemente da localização dos objetos, podemos postergar algumas decisões sobre a localização dos objetos Não precisamos necessariamente definir completamente a localização dos objetos em tempo de projeto A divisão de responsabilidade entre as partes do sistema nos leva a uma definição de sistema com potencial de distribuição Um sistema distributível Centralizado x distributível x distribuído Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn 4 Arquitetura e-servidor Generalizada Arquitetura e-servidor Generalizada Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn 4 Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn 4 2

Arquitetura e-servidor Generalizada e e m1 m2 Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn 4 e e m1 m2 m1 m2 Decisões arquiteturais importantes e m1 m2 e 1 Divisão de responsabilidades entre partes (componentes) do sistema 2 Localização dos componentes do sistema 3 Relação entre 1 e 2: Em que momento(s) definiremos localização (em que momento faremos alocação) Como o potencial de localização afeta as propriedades do sistema 3

Alocação de componentes (distribuição) Em que momento(s) definiremos localização: estático dinâmico Tempo de Projeto (design time) Tempo de Instalação (deployment time) Tempo de Configuração Tempo de Execução (runtime) Definido pelo desenvolvedor X Definido pelo sistema/middleware Distribuição e as propriedades do sistema Propriedades visíveis externamente: Desempenho no tempo: tempo de resposta, capacidade, vazão Confiabilidade e Disponibilidade Escalabilidade Segurança Possibilidade de evolução Características internas: Grau de concorrência/paralelismo e aceleração Custo de comunicação (via rede) Compartilhamento de recursos (memória, disco) Eficiência Carga em nós de processamento Arquitetura com replicação Com que finalidade? Service Arquitetura com replicação Aumentar disponibilidade Diminuir tempo de resposta Aumentar vazão total/capacidade Service Como? Requer sincronização dos estados dos objetos Arquitetura com replicação Service Arquitetura com proxies para caching e balanceamento de carga Faz sentido? Proxy Requer sincronização dos estados dos objetos 4

Arquitetura com proxies para caching e balanceamento de carga Arquiteturas peer-to-peer Peer 2 Peer 1 Proxy Sharable objects Peer 3 Considerar custo de comunicação E ganhos de escala (números de requisições idênticas) Normalmente requer tolerância à inconsistência de cache Peers 5 N Peer 4 Exemplo de Arquitetura: e/servidor com e s Exemplo de Arquitetura: e/servidor com e s delega tarefas para escravos e e e Diminuir tempo de resposta Diminuir tempo de resposta Exemplo de Arquitetura: e/servidor com e s e Projeto detalhado Modelos de linhas de execução Definição de interfaces Estratégia de publicação de referências Estratégias de detecção e tolerância a falhas e 5

Exemplo de Arquitetura: e/servidor com e s deve atender diversos clientes simultaneamente e e não pode bloquear esperando respostas Mesmo que saibamos como alocar os objetos, devemos saber como alocar tarefas 6