Exercícios Resolvidos: Sistemas Distribuídos e Clusters

Classificado em Computação

Escrito em em português com um tamanho de 3,32 KB

SD_EX_05

1. Transparência e Falhas em Sistemas Distribuídos

Questão: Considere que uma empresa tem uma filial em São Paulo com 50 terminais acessando dois servidores no Rio de Janeiro (sede), sendo uma aplicação web e outro Banco de Dados. Em Porto Alegre existe uma réplica dos servidores do Rio de Janeiro, cuja sincronia é feita a cada 2 minutos. O cliente de São Paulo está parametrizado para comunicar-se sistematicamente com o Rio de Janeiro e, quando este servidor não responde a contento, ele tenta 5 vezes; após isso, ele se conecta aos servidores de Porto Alegre. Pergunta-se: (a) Como se chama esse tipo de transparência? (b) O que acontece com o usuário que está no cliente em São Paulo?

  • (a) Transparência a falhas.
  • (b) Aumento da latência.

2. Otimização de Desempenho e Escalabilidade

Questão: O cliente de São Paulo percebeu que o tempo de resposta aumentou de 3s para 6s devido a um aumento de 30% na carga dos servidores. Quais técnicas podem ser aplicadas para melhorar o desempenho?

Resposta:

  • RAID: Para o acesso a informações armazenadas em banco de dados, seria a criação de RAIDs, onde tabelas seriam armazenadas de forma distribuída para otimizar o tempo de acesso.
  • Cluster de Servidores: Para o processamento, seria ideal implantar um cluster de servidores com um conjunto de nós principais para distribuir o processamento, realizando o balanceamento de carga.

3. Funcionamento de um Cluster de Servidores

Questão: Explique como funciona o cluster de servidores, dando ênfase em cada uma das três camadas.

Um cluster é um conjunto de máquinas conectadas preferencialmente por uma rede local com alta largura de banda e baixa latência, no qual cada máquina executa um ou mais servidores.

  • 1ª camada (Comutador Lógico): Por questão de escalabilidade e disponibilidade, o comutador identifica o melhor servidor para manipular cada requisição e repassa o pacote para um determinado servidor.
  • 2ª camada (Servidores de Aplicação): Processa a requisição disparada pelo comutador lógico, que busca as informações em um dos servidores de banco de dados.
  • 3ª camada (Sistema Distribuído de Banco de Dados): Fornece informações solicitadas pelos servidores de aplicação de forma rápida através de busca em discos, utilizando a técnica de RAID.

4. Conexão TCP/IP: Com ou Sem Estado?

Questão: Um servidor que mantém uma conexão TCP/IP com um cliente é com ou sem estado?

Resposta: A conexão é considerada sem estado (stateless), pois o servidor não precisa necessariamente manter os dados do cliente entre as requisições.

5. Segmento de Execução e Contexto

Questão: Qual é o nome do elemento onde o sistema operacional guarda informações para cada processo ou thread em execução, muito utilizado em mudanças de contexto?

Resposta: Bloco de Controle de Processo (Process Control Block - PCB).

Entradas relacionadas: