Sei sulla pagina 1di 10

www.fiap.com.

br
Curso
Professor
Pgina - 1 -
Sistemas Distribudos
Tipos de Sistemas Distribudos, Tipos de Arquiteturas.
Prof Marcelo Rech
Sistemas Distribudos
2
2
Sistemas de Computao Distribudos
Os sistemas de computao distribudos so
utilizados para tarefas de alto desempenho e
podem ser subdivididos em duas classes
distintas:
Sistemas de computao de cluster
Sistemas de computao em grade
Homogneo x Heterogneo
3
3
Sistemas de Computao Distribudos
Sistemas de Computao Cluster
Hardware consiste em um conjunto de estaes de
trabalho conectadas e se desenvolveu a partir do
barateamento dos computadores pessoais.
Conexo feita atravs de uma rede local, e em quase
todos os casos, a computao de cluster usada para
programao paralela na qual um nico programa e
executado em paralelo.
4
4
Sistemas de Computao Distribudos
Sistemas de Computao Cluster
Exemplo: Sistemas Beowulf baseado em Linux, onde
cada cluster consiste em um conjunto de ns de
computao controlados e acessados por meio de um
nico s mestre, cujas tarefas so manipular e alocar
determinados programas paralelos.
4
www.fiap.com.br
Curso
Professor
Pgina - 1 -
5
5
Sistemas de Computao Distribudos
Sistema de Computao em Grade
Sistemas Distribudos montados como federao de
computadores, na qual cada sistema pode cair sob um
sistema administrativo diferente, e pode ser muito
diferente no que tange a hardware, software e tecnologia
empregada.
Apresentam alto grau de heterogeneidade.
6
6
Sistemas de Computao Distribudos
Sistema de Computao em Grade
Software usado para permitir acesso a recursos (muitas
vezes clusters) de diferentes organizaes reunidos para
permitir a colaborao de um grupo (conceito de
organizao virtual).
Foco dirigido para a arquitetura, est dividida em quatro
etapas, em acordo ao esquema apresentado a seguir:
7
7
Sistemas de Computao Distribudos
Sistema de Computao em Grade
A camada mais baixa, chamada camada base, prov
interfaces para recursos locais em um site especfico.
Essas interfaces so projetadas para permitir
compartilhamento de recursos dentro de uma
organizao virtual. Prov funes para consultar o
estado e as capacidades de um recurso, em conjunto
com funes para o gerenciamento propriamente dito.
Exemplo: Travar um recurso.
8
8
Sistemas de Computao Distribudos
Sistema de Computao em Grade
A camada de conectividade consiste em protocolos de
comunicao para suportar transaes da grade que
abranjam a utilizao de mltiplos recursos. Exemplo:
Protocolos de transferncia de dados entre recursos ou
para localizar um recurso desde uma localizao remota.
www.fiap.com.br
Curso
Professor
Pgina - 1 -
9
9
Sistemas de Computao Distribudos
Sistema de Computao em Grade
A camada de recursos responsvel pela gesto de um
nico recurso, utilizando funes fornecidas pela camada
de conectividade e chama diretamente as interfaces
disponibilizadas pela camada base. Exemplo: Recursos
responsvel pelo acesso, dependendo da autenticao
realizada pela camada de conectividade.
10
10
Sistemas de Computao Distribudos
Sistema de Computao em Grade
A camada coletiva manipula o acesso a mltiplos
recursos e normalmente consiste em servios para
descoberta de recursos, alocao e escalonamento de
tarefas para mltiplos recursos, como replicao de
dados.
A camada de aplicao consiste em aplicaes que
funcionam dentro de uma organizao.
11
11
Sistemas de Informao Distribudos
Exemplo: Portal de Turismo
12
12
Sistemas de Informao Distribudos
Exemplo: Portal de Turismo
A origem dos sistemas de informao distribudos
est geralmente ligada organizaes que se
defrontaram com uma grande quantidade de
aplicaes em rede e que passaram a ter crescentes
problemas de interoperabilidade.
Usualmente uma aplicao em rede que era
executada num servidor, que tambm era o servidor
de banco de dados, disponibilizando-a para acessos
remotos, denominados clientes.
www.fiap.com.br
Curso
Professor
Pgina - 1 -
13
13
Sistemas de Informao Distribudos
Exemplo: Portal de Turismo
Toda vez que o cliente envia uma requisio ao servidor,
fica aguardando uma resposta depois da execuo de
uma operao especfica. Integrao o processo no
qual clientes empacotem vrias requisies, em geral
para vrios servidores, em uma requisio maior como
uma transao distribuda que ser plenamente
executada ou ento no seria executada.
Todavia, a medida em que os componentes de dados
foram se distinguindo dos de processamento, ficou
claro que as aplicaes se comunicassem entre si.
14
14
Sistemas de Informao Distribudos
Sistemas de Processamento de Transaes
A partir do conhecimento de que as operaes num banco
de dados so feitas sob a forma de transaes, fica natural
pensarmos num processo que tem em algum ponto um
incio (BEGIN_TRANSACTION) e num outro local um
trmino (END_TRANSACTION). Supe-se que se todo
processo ocorrer como se espera inicialmente a transao
ser realizada, de forma integral, no banco de dados
(COMMIT). Todavia, se por qualquer que seja o motivo
alguma parte dessa transao no puder ser executada,
toda a transao desfeita (ROLLBACK). Em geral, chama-
se a esse processo de ACID. Vejamos o porqu disso...
15
15
Sistemas de Informao Distribudos
Sistemas de Processamento de Transaes
Atmicas: Para todo restante do sistema, a
transao acontece como se fosse indivisvel.
Consistente: A transao no viola invariantes de
sistema. [Notar que invariantes podem ser violados
por breves instantes]
Isoladas: Transaes concorrentes no interferem
entre si. [Serializveis]
Durveis: Uma vez comprometida
uma transao, as alteraes
sero permanentes.
16
16
Exemplo 1 - SOA
Todas as operaes realizadas em um sistemas so, ou
deveriam ser, fracamente acopladas entre si, quando se
pensa em criar uma Arquitetura Orientada a Servios.
Mais do que desejvel, este nvel de acoplamento deve
ser perseguido.
Imagine que voc v ao Shopping com sua namorada
ver um filme e lanchar na praa de alimentao, no
restaurante preferido de vocs. Imagine agora que o
filme que voc deseja assistir no esteja passando no
Shopping favorito. Naturalmente grande a chance de
vocs irem noutro Shopping e acabarem lanchando
noutro local.
www.fiap.com.br
Curso
Professor
Pgina - 1 -
17
17
Exemplo 1 - SOA
As operaes de ver um filme" e lanchar no Shopping"
no possuem um relacionamento rgido. E assim que a
maioria esmagadora de atividades humanas se
comporta: so fracamente acopladas umas s outras.
muito comum o requerimento de "Transao" quando
o assunto SOA. muito comum ainda o termo
"Transao" ser usado como sinnimo de "Atomicidade"
de operaes distribudas. Aquele "tudo-ou-nada"
normalmente implementado por Gerenciadores de
Bancos de Dados. Com "Rollbacks" mgicos
desfazendo operaes previamente realizadas, ou ao
menos uma parte indesejvel delas, dependendo do
Banco de Dados em si.
18
18
Exemplo 1 - SOA
Primeiramente vamos compreender que errado pensar
que "Transao" trata-se de sinnimo de "Atomicidade".
Na verdade, esta caracterstica uma das diversas que
uma Transao pode ter.
Atomicidade uma das caractersticas que uma
Transao pode ter, mas no que isso seja obrigatrio,
pois uma Transao sem Atomicidade ainda uma
Transao...
19
19
Exemplo 1 SOA (continuao)
A definio de transaes distribudas com
Atomicidade, na grande maioria dos casos reais, acaba
no sendo desejvel. Francamente, uma m ideia!
SOA encaixa-se em uma situao como essa. Em
termos de aplicaes, Atomicidade promove um nvel
de acoplamento alto que, por definio, ruim e deve
ser evitado.
20
20
Exemplo 1 SOA (continuao)
O engano reside no uso de Atomicidade em Transaes
de um Gerenciador de Bancos de Dados. Como temos
esse recurso nativamente oferecido pelo produto,
tambm deveriam us-lo em outros nveis de abstrao.
Como por exemplo, SOA. Nada mais enganoso.
Transaes com Atomicidade so razoveis e
necessrias para Bancos de Dados. No so razoveis
para aplicaes. So nveis de abstrao diferentes e,
por conta disso, no possuem requerimentos iguais.
www.fiap.com.br
Curso
Professor
Pgina - 1 -
21
21
Exemplo 2 Transao Bancria
Transao Atmica
quantia j retirada
Dinheiro desaparece???
depsito(conta1, quantia)
Se depsito no consegue ser efetuado...
saque(conta1, quantia)
e se forem 2 saques!!!
22
22
Decorrncias dos Exemplo...
Saque por duas vezes, no pode jamais ser feito!
Consultar o saldo duas vezes, no h problema algum!
Essa operao idempotente, pois pode ser feita vrias
vezes sem afetar os resultados (no causa danos).
Quando se quer uma comunicao confivel,
necessrio ter-se uma conexo antes de se enviar os
dados, como ocorre no protocolo TCP/IP usado na
Internet.
Quanto menor a mensagem a ser enviada, pior a
estratgia de uso de protocolo orientado conexo.
23
23
Sistemas de Informao Distribudos
Sistemas de Processamento de Transaes
O monitor de TP (Monitor de Processamento de Transao) permite
que uma aplicao acesse vrios servidores de banco de dados
simultaneamente, dando a impresso de um processo nico. Basta
pensar que cada banco da figura abaixo represente algo distinto,
como o banco da cia. Area, o banco do hotel e o banco do
receptivo, para somente em caso de possibilidade simultnea nos
trs bancos, uma transao de turismo seja realizada.
24
24
Arquiteturas
Sistemas distribudos, em geral, so complexa peas de software
cujos componentes esto, espalhados por vrias mquinas.
Os principais estilos arquitetnicos so:
Em camada
Baseadas em Objeto
Centradas em Dados
Baseadas em Eventos
www.fiap.com.br
Curso
Professor
Pgina - 1 -
25
25
Arquiteturas
Em Camadas
Componentes so organizados em camadas
Componente da camada N tem permisso de chamar
componentes na camada N-1
Comum em redes de computadores
26
26
Arquiteturas
Baseadas em Objeto
Objeto Componente
Objetos so conectados por meio de uma chamada
de procedimento (remota).
Amplamente utilizada para sistemas de software de
grande porte.
27
27
Arquiteturas
Centradas em Dados
Processos se comunicam por meio de um repositrio
comum.
Sistemas distribudos baseados na Web, em grande
parte, so centrados em dados.
28
28
Arquiteturas
Baseadas em Eventos
Sistemas publicar/subscrever
Processos publicam eventos e o middleware
assegura que somente os processos que se
subscreveram para esses eventos os recebero
Processos fracamente acoplados: processos no se
referem explicitamente uns aos outros
www.fiap.com.br
Curso
Professor
Pgina - 1 -
29
29
Arquitetura de Sistema
Decises a respeito de componentes de software, sua
interao e sua colocao em mquinas reais.
Trs tipos:
Centralizadas
Descentralizadas
Hibridas
30
30
Arquitetura de Sistema
Centralizadas
Modelo cliente-servidor
Comportamento de requisio-resposta
31
31
Arquitetura de Sistema
Centralizadas
Como estabelecer a comunicao?
1. Protocolo sem conexo:
Protocolo simples, que funciona bem em
redes locais
Cliente empacota uma mensagem para o
servidor diretamente
Eficiente se NO ocorrem problemas
Exemplo: Falhas Transferncias bancarias
Operaes podem ser repetidas sem causar
danos: idempotentes
32
32
Arquitetura de Sistema
Centralizadas
Como estabelecer a comunicao?
2. Protocolo orientado a conexo
Soluo funciona bem em sistemas de longa
distncia.
Sempre que um cliente requisita um servio,
primeiro se estabelece conexo com o
servidor e depois se envia a requisio.
www.fiap.com.br
Curso
Professor
Pgina - 1 -
33
33
Arquitetura de Sistema
Centralizadas
Camadas de Aplicao
Como distinguir entre cliente e servidor?
Exemplo: Servidor de banco de dados
distribudo repassa requisies a servidores
de arquivos. Assim, age como cliente
continuamente.
Como muitas aplicaes cliente-servidor visam dar suporte ao
acesso de usurios a banco de dados conveniente que sejam
divididas em trs nveis distintos:
Nvel de interface de usurio
Nvel de processamento
Nvel de dados
34
34
Arquitetura de Sistema
Centralizadas
Nvel de interface de usurio.
Consiste em programas que permitam aos usurios finais interagir
com aplicaes.
Diversos nveis de complexidade.
Nvel de processamento
Normalmente contem as aplicaes
Exemplo: Anlise de dados financeiros que pode exigir mtodos e
tcnicas sofisticados de estatstica
Nvel de dados
Na sua forma mais simples, consiste em um sistema de arquivos.
Mais comum utilizar um banco de dados.
Normalmente implementado no lado servidor.
Mantm os dados consistentes.
Dados costumam ser persistentes.
35
35
Arquitetura de Sistema
Centralizadas
Exemplo:
36
36
Arquitetura de Sistema
Arquiteturas Multidivididas
Trs Nveis lgicos vrias possibilidades para a distribuio fsica
de uma aplicao cliente-servidor por vrias maquinas
Interface
caracter
Interface
grfica
Preenchimento
de formulrio
www.fiap.com.br
Curso
Professor
Pgina - 1 -
37
37
Arquitetura de Sistema
Arquiteturas Multidivididas
Gerenciamento de sistema:
Clientes gordos (fat clients)
Clientes magros (thin clients)
Servidor pode tambm agir como clientes: arquitetura de trs
divises
38
38
Copyright 2010 Prof. Jorge Surian
Todos direitos reservados. Reproduo ou divulgao total ou parcial deste documento
expressamente probido sem o consentimento formal, por escrito, do professor Surian.
Fonte:
Tanenbaum, Andrew S. e Steen, Marteen Van. Sistemas Distribudos, So
Paulo: Prentice Hall, 2008.

Potrebbero piacerti anche