sexta-feira, 12 de setembro de 2008

|| Escabilidade - Sistemas Distribuidos ||

Escalabilidade
A escalabilidade pode ser medida em três dimensões:
1. em relação ao tamanho – pode-se acrescentar mais
utilizadores e recursos ao sistema;
2. em relação à distância geográfica – os componentes
podem estar distantes geograficamente;
3. em relação à facilidade de administração – o sistema
continua gerível mesmo incluindo muitas organizações
independentes.

Problemas de escalabilidade
1. em relação ao tamanho
Servidores centralizados
Dados centralizados
Algoritmos centralizados
1.1 Uma máquina tem informação completa sobre
o estado do sistema, ou
1.2 As máquinas tomam decisões baseadas em
informações de outros nós, ou
1.3 Uma falha de um nó pode arruinar o
algoritmo, ou
1.4 Assume-se que existe um relógio global.
Mas por vezes é inevitável ter centralização (dados
confidenciais de bancos, etc.) …

2. em relação à distância geográfica
Em LANs é comum usar comunicação síncrona – o cliente
envia o pedido e fica bloqueado à espera de uma resposta.
Numa WAN:
a comunicação pode durar três ordens de grandeza
mais (centenas de milisegundos);
a comunicação é pouco fiável – tem de se lidar com
erros.
Não se pode usar técnicas de difusão para localizar serviços – é necessário recorrer a serviços de directórios ou de nomes.
Se uma aplicação tem componentes centralizados fica também
limitada em termos geográficos.
3. em relação à facilidade de administração
Problemas de conciliação de políticas de utilização e
pagamento de recursos, administração e segurança.
São necessários dois tipos de medidas de segurança quando o
sistema distribuído se expande para um novo domínio:
o sistema tem de se proteger de ataques vindos do novo
domínio;
o domínio tem de se proteger de ataques vindos do
sistema distribuído.
Técnicas de certificação e de controlo de acessos.

Técnicas de escalabilidade
Três técnicas principais:
1. Esconder latência na comunicação
2. Distribuição
3. Replicação.
1. Esconder latência na comunicação
Usar comunicação assíncrona para evitar bloquear processos à
espera de receber respostas.
a) Tratamento de respostas como eventos;
b) Usar várias tarefas em paralelo para continuar
processamento.
Passar parte do processamento do servidor para o cliente.

2. Distribuição
Decompor os componentes em partes mais pequenas, que são
distribuídas por todo o sistema distribuído.
Exemplos: DNS e Web
Vários clientes podem aceder a diferentes partes em paralelo.
3. Replicação
Aumenta a disponibilidade dos serviços e melhora o
balanceamento de carga no sistema.
Aumenta a disponibilidade do serviço nas zonas da rede onde
há réplicas.


link: http://tele1.dee.fct.unl.pt/rit2_2007_2008/teo/4_sist_dist.pdf

Nenhum comentário: