Sistemas Distribuídos Aula 8

Documentos relacionados
Arquiteturas. capítulo

Sistemas Distribuídos Aula 10

O que é um sistema distribuído?

Sistemas Distribuídos

Sistemas Distribuídos Capítulo 2 - Aula 2

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

Redes de Computadores e Aplicações

Engenharia de Software

Redes de Computadores. Disciplina: Informática Prof. Higor Morais

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Resumo. Redes de Computadores. História da Internet. História da Internet. História da Internet. História da Internet

TELECOMUNICAÇÕES Prof. Ricardo Rodrigues Barcelar

Bruno Antunes da Silva UFSCar - Sorocaba

Sistemas distribuídos. Prof. Emiliano Monteiro

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

Aula 5 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MULTI PLAYER. Marcelo Henrique dos Santos

Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

Prof. Samuel Henrique Bucke Brito

Sistemas Distribuídos

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

Redes de Comunicação de Dados

ÍNDICE. Redes de Computadores - 1º Período de Cap 12 - Fls. 1

Universidade Federal de Goiás Estilos Arquiteturais

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

Introdução a Sistemas Distribuídos

Sistemas Distribuídos

Arquitetura de sistemas distribuídos

Prof. Samuel Henrique Bucke Brito

MOSAIC: Stateless Mobility for HTTP-based Applications

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:

Redes de Computadores

Protótipo tipo de um sistema de arquivos para ambiente distribuído

Aplicações com Banco de Dados e Cliente-Servidor

STD29006 Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Sistemas Distribuídos e Redes de Sensores. abril de 2013

Programação Distribuída. Arquiteturas

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

Subsistemas de E/S Device Driver Controlador de E/S Dispositivos de E/S Discos Magnéticos Desempenho, redundância, proteção de dados

Redes de Computadores

UNIVERSIDADE FEDERAL DO PIAUÍ COLÉGIO TÉCNICO DE TERESINA-TÉCNICO EM INFORMÁTICA DISCIPLINA: REDES DE COMPUTADORES I PROFESSOR: Valdemir Junior

Redes de Computadores

SISTEMAS DISTRIBUÍDOS

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

Sistemas Distribuídos Capítulo 3 - Aula 3

SISTEMAS DISTRIBUÍDOS

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 1- Introdução aos Sistemas Distribuídos

Estruturas de Comunicação de Dados Aula 3 Camadas de Aplicação e Transporte

Caracterização de Sistemas Distribuídos

Modelo de Camadas. Redes de Computadores

27/05/2014 REDES LOCAIS

Revisão. Karine Peralta

Serviços WEB/BD/Armazenamento com suporte a balanceamento e alta disponibilidade

Topologias e abrangência de redes de computadores

Prof. Mizael Cortez Modelo em camadas Arquitetura TCP/IP Modelo ISO/OSI

SIDs: ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

Curso: Redes de Computadores

Arquiteturas. Capítulo 2

software as a service (saas) e service-oriented architecture (soa)

Redes de Computadores Aula 3

Análise e Projeto de Software

Arquitecturas de Sistemas Distribuídos

Introdução Ferramentas Unix MapReduce Outras Ferramentas. Batch Processing. Fabiola Santore. Universidade Federal do Paraná

Estrutura dos Sistemas Operacionais. Adão de Melo Neto

PLANO DE ENSINO. Disciplina: Redes de Computadores Carga Horária: 100h Período: 6º. Ementa

CONCEITOS INICIAIS APRESENTAÇÃO DO PROFESSOR

SDN-IPS - Uma solução para contenção de ataques cibernéticos usando SDN/OpenFlow

Redes de Computadores

AULA 2 - INTERNET. Prof. Pedro Braconnot Velloso

Desenvolvimento de Sistemas Corporativos Aula 1.3 Motivação de DSC Visão geral de Arquiteturas. Prof. Bruno Moreno

Sistemas Distribuídos Aula 03

Sistemas Distribuídos

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO CONCEITO DE REDE DE COMPUTADORES PROFESSOR CARLOS MUNIZ

Introdução aos Sistemas Distribuídos

Fundamentos de Sistemas Operacionais. Threads. Prof. Edwar Saliba Júnior Março de Unidade Threads

Redes de Computadores

Curso online de Fundamentos em Android. Plano de Estudo

Conceitos de Sistemas Distribuídos

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Sistemas Distribuídos

Professor: Jarbas Araújo.

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Vídeo Par a Par. Pedro Silveira Pisa Redes de Computadores I Professor: Otto Carlos Muniz Bandeira Duarte

SIST706 Sistemas Distribuídos

Informática Parte 11 Prof. Márcio Hunecke

PROJETO DE REDES

Arquitetura de Sistemas Operativos

Banco de Dados. Profa. Marta Mattoso. COPPE- Sistemas / UFRJ. Arquiteturas em Banco de Dados

Preparação AV3 Fundamentos de Redes de Computadores

PCS3413 Engenharia de Software e Banco de Dados

BD e Aplicações em Negócios

Processo Módulo M NPS

SISTEMAS DISTRIBUÍDOS

5 Proposta de Integração com as Redes Sociais Pervasivas

Replicação em sistemas web

Transcrição:

Sistemas Distribuídos Aula 8 Aula passada Limitação dos semáforos Monitores Variáveis de condição Semântica de signal Aula de hoje Arquitetura de sistemas Arquitetura de sistemas distribuídos Cliente/servidor

Construindo Sistemas Como construir um sistema grande? ex. g++, Linux, SIGA, Gmail? Modelar Projetar Implementar Testar Legal, mas como? Diferentes técnicas/abordagens para cada etapa ex. implementar em C++ ou Python? cada abordagem tem vantagens/desvantagens não há bala de prata!

Projetando Sistemas Como projetar sistemas? como organizar um grande sistema? Adotar uma arquitetura de sistemas forma de organizar um sistema grande dividir em componentes/módulos de software módulos com interfaces bem definidas Diferentes arquiteturas desenvolvidas ao longo do tempo, com prática e teoria como dividir, como conectar, como trocar define uma arquitetura de sistema

Arquitetura de Sistemas Quatro grandes abordagens baseada em camadas (mais antiga) baseada em objetos baseada em eventos centrada em dados (mais nova) Cada qual com vantagens/desvantagens Não necessariamente ortogonais grandes sistemas reais misturam as abordagens

Arquitetura em Camadas Componentes organizados em verticalmente facilita organização e modificação Camada implementa um serviço utiliza serviço camada inferior oferece serviço camada superior oferece serviços para camada x+1 Camada x utiliza serviços da camada x-1 Mais clássica, muitos exemplos Internet, SO, etc

Arquitetura em Objetos Componentes organizados em como um grafo maior flexibilidade, maior eficiência Objetos implementam serviços utilizam serviços de outros objetos chamam objetos necessários Exemplos alguns SGBDs (bando de dados)

Arquitetura em Eventos Componentes organizados em um barramento maior simplicidade Componentes enviam/recebem eventos eventos tem identidade e informação, processados apenas onde necessário utilizam serviço de outros componentes Exemplos Ethernet é um barramento de verdade! Publish/Subscribe systems

Arquitetura Centrada em Dados Componentes organizados em estrela maior simplicidade Centro da estrela é um grande repositório de dados compartilhado comunicação indireta, através repositório repositório é outro sistema Exemplos Google File System Hadoop (Map/Reduce) Content Centric Networks

Sistemas Distribuídos Qual é mesmo a definição? A collection of independent computers that appears to its users as a single coherent system. Como projetar sistemas distribuídos? o que vimos era para sistemas não necessariamente distribuídos Novamente, adotar uma arquitetura de sistemas distribuído forma de organizar um sistema grande dividir em componentes/módulos de software módulos com interfaces bem definidas

Aquitetura de Sistemas Distribuído Duas grandes abordagens cliente/servidor: clássica e mais usada P2P: nova e mais difícil Cada qual com vantagens/desvantagens Não necessariamente ortogonais grandes sistemas reais misturam as abordagens Definições não são cartesianas!

Cliente/Servidor Componentes separados em máquinas que fazem papel de cliente e servidor Servidor: oferece um serviço aguarda conexão de um cliente recebe e processo pedido do cliente retorna resultado Cliente: demanda um serviço se conecta ao servidor envia pedido aguarda resposta Papel cliente/servidor bem destintos

Exemplo Cliente/Servidor cliente cliente servidor thread computador cliente Web: HTTP e todos os aplicativos sobre HTTP (Web, YouTube, Facebook, Netflix, etc) Email DNS

Aspectos Centrais a C/S Quais são os aspectos centrais da arquitetura cliente/servidor? Como encontrar o servidor? thread do cliente precisa conectar Como organizar pedidos e respostas um ou múltiplos pedidos por conexão? Como dimensionar um servidor atender quantos clientes? Demanda variável? escalabilidade? Ponto único de falha? Como ter redundância? múltiplos servidores idênticos

Servidor que é Cliente Um servidor pode também fazer papel de cliente? Claro! Servidor é meu, e projeto como quiser cliente servidor servidor Servidor contacta outro servidor (sendo cliente) para exercer sua função Servidor de dois níveis (two tier system) Exemplo: servidor web e banco de dados