18
2013-2 Programação de Sistemas Distribuídos e Concorrência Programação de Sistemas Distribuídos e Concorrência Aula 2 Prof: Carlos Eduardo de Carvalho Dantas ([email protected] ) h ttp://carloseduardoxp.wordpress.com ““O medo é o pai da moralidade” – Friedrich Wilhelm Nietzsche

Aula 2 - carloseduardoxp.files.wordpress.com · 2013-2 Programação de Sistemas Distribuídos e Concorrência Conceito Sistema distribuído –conjunto de computadores independentes

Embed Size (px)

Citation preview

2013-2 Programação de Sistemas Distribuídos e Concorrência

Programação de Sistemas

Distribuídos e Concorrência

Aula 2

Prof: Carlos Eduardo de Carvalho Dantas

([email protected])

http://carloseduardoxp.wordpress.com

““O medo é o pai da moralidade” – Friedrich Wilhelm Nietzsche

2013-2 Programação de Sistemas Distribuídos e Concorrência

Conceito

Sistema distribuído – conjunto de computadores

independentes que se apresenta a seus usuários

como um sistema único e coerente;

Com o desenvolvimento de microprocessadores de

grande capacidade e invenção de redes de

computadores em alta velocidade, foi possível o

desenvolvimento dos sistemas distribuídos

2013-2 Programação de Sistemas Distribuídos e Concorrência

Conceito

Sistema distribuído consiste em componentes

(computadores) autônomos;

Usuários (pessoas ou programas) pensam que estão

lidando com um único sistema;

Componentes autônomos precisam colaborar;

A forma como os computadores se comunicam

devem ser ocultas aos usuários;

Usuários devem interagir de forma consistente e

uniforme, independente do local;

Deveria ser fácil expandir e aumentar a escala;

Usuários e aplicações não devem enxergar partes

avariadas de sistemas distribuídos

2013-2 Programação de Sistemas Distribuídos e Concorrência

Conceito

Sistema distribuído como um middleware

2013-2 Programação de Sistemas Distribuídos e Concorrência

Metas

Metas a serem seguidas na construção de um

sistema distribuído para que valha a pena o esforço

2013-2 Programação de Sistemas Distribuídos e Concorrência

Metas – acesso a recursos

Facilitar aos usuários e às aplicações o acesso aos

recursos remotos e seu compartilhamento;

Conectar usuários e recursos;

Groupware – Software para edição colaborativa,

teleconferência,etc.;

Senhas e mensagens precisam estar criptografadas;

Https ao invés de Http

2013-2 Programação de Sistemas Distribuídos e Concorrência

Metas – Transparência

2013-2 Programação de Sistemas Distribuídos e Concorrência

Metas - Escalabilidade

Tamanho – facilidade para adicionar usuários e

recursos no sistema;

Termos geográficos – usuários e recursos podem

estar longe uns dos outros;

Termos administrativos – pode ser fácil de gerenciar,

mesmo que abranja muitas organizações

administrativas diferentes.

2013-2 Programação de Sistemas Distribuídos e Concorrência

Metas - Escalabilidade

Vertical - ”escalar para cima”, ou seja, comprar

recursos computacionais como memória, cpu, disco,

e refatorar códigos para deixá-los mais

performáticos;

Horizontal - ”escalar para os lados”, ou seja, distribuir

os serviços, replicando-os ou quebrando-o em

pequenas partes em diferentes lugares.

2013-2 Programação de Sistemas Distribuídos e Concorrência

Metas - Escalabilidade

2013-2 Programação de Sistemas Distribuídos e Concorrência

Metas - Escalabilidade

Ocultar latências → comunicação assíncrona sempre

que possível e evitar desperdício de requisições no

servidor

2013-2 Programação de Sistemas Distribuídos e Concorrência

Metas - Escalabilidade

Distribuição → Tornar um componente em partes

menores, como o DNS

2013-2 Programação de Sistemas Distribuídos e Concorrência

Metas - Escalabilidade

Cache → manter cópias de dados na memória para

evitar acessos a dispositivos/redes que geram

latência.

2013-2 Programação de Sistemas Distribuídos e Concorrência

Metas - Abertura

IDL – Interface Definition Languange

2013-2 Programação de Sistemas Distribuídos e Concorrência

Metas - Ciladas

Premissas falsas que todos adotam ao desenvolver

um Sistema Distribuído pela primeira vez

2013-2 Programação de Sistemas Distribuídos e Concorrência

Exercícios

2013-2 Programação de Sistemas Distribuídos e Concorrência

Exercícios

2013-2 Programação de Sistemas Distribuídos e Concorrência

Referências Bibliográficase

[1] Sistemas distribuídos – princípios e paradigmas.

Cap 1