sábado, 15 de abril de 2023

Resolução Sistemas distribuídos - Conceitos e projetos Coulouris exercícios 2.1 , 2.2, 2.3, 2.4 e 2.5

Resolução Sistemas distribuídos - Conceitos e projetos Coulouris exercícios 2.1, 2.2, 2.3, 2.4 e 2.5   

 2.1- DESCREVA E ILUSTRE A ARQUITETURA CLIENTE-SERVIDOR DE UM OU MAIS APLICATIVOS DE INTERNET IMPORTANTES EX: WEB, CORREIO ELETRÔNICO

Resposta: A arquitetura cliente-servidor é uma das arquiteturas mais comuns para aplicações de internet. Ela envolve um servidor que fornece recursos ou serviços para vários clientes que se conectam a ele. 

Para aplicações web por exemplo um servidor web que hospeda o site e fornece recursos/serviços aos clientes, que são os navegadores web que os usuários usam para acessar o site. O navegador faz uma solicitação ao servidor web, que processa a solicitação e envia uma resposta de volta ao navegador. Ao enviar uma solicitação Http ao servidor web para obter recursos, como HTML, CSS, imagens entre outros arquivos necessários para renderizar a página da web. O servidor web processa a solicitação e envia a resposta HTTP de volta ao navegador, que renderiza a página da web para o usuário.


Para o servidor de email, ele processa a solicitação e envia uma resposta de volta ao programa de email. A arquitetura cliente-servidor para o correio eletrônico também pode envolver vários servidores de email que trabalham em conjunto.

2.2 - PARA QUE OS APLICATIVOS DISCUTIDOS EM 2.1, DIGA COMO OS SERVIDORES COOPERAM NO FORNECIMENTO DE UM SERVIÇO

Resposta: No modelo cliente-servidor, os servidores cooperam no fornecimento de um serviço dividindo a carga de trabalho entre eles. Isso ajuda a evitar a sobrecarga de um único servidor e melhora a eficiência do serviço como um todo. 

Além disso, os servidores também podem compartilhar recursos, como bancos de dados ou serviços de autenticação, para fornecer um serviço mais robusto e confiável aos clientes. O uso de servidores redundantes e a replicação de dados em vários servidores também podem ajudar a garantir a disponibilidade contínua do serviço, mesmo em caso de falhas em um dos servidores, a cooperação entre os servidores é essencial para garantir que um serviço seja entregue com eficiência, confiabilidade e escalabilidade.

2.3 - COMO OS APLICATIVOS DISCUTIDOS  NO EXERCICIO ANTERIORMENTE(2.1) ENVOLVEM O PARTICIONAMENTO E/OU A REPLICAÇÃO (OU ARMAZENAMENTO EM CACHE) DOS DADOS ENTRE OS SERVIDORES ?

Resposta: O particionamento e/ou a replicação (ou armazenamento em cache) dos dados entre os servidores são técnicas comuns usadas no modelo cliente-servidor para melhorar o desempenho, a escalabilidade e a disponibilidade do serviço.

O particionamento é a divisão dos dados em partições menores que são distribuídas entre os servidores. Cada servidor é responsável por armazenar e gerenciar uma parte específica dos dados. Isso permite que a carga de trabalho seja distribuída entre os servidores e reduz a possibilidade de sobrecarga de um único servidor.

A replicação dos dados é uma técnica utilizada em modelos cliente-servidor, que envolve a criação de cópias dos dados em vários servidores. Isso é feito para melhorar a disponibilidade e a tolerância a falhas do serviço, garantindo que os dados estejam sempre disponíveis, mesmo se um servidor falhar. A replicação também pode melhorar o desempenho, permitindo que os clientes acessem os dados de um servidor que esteja fisicamente mais próximo.

Já o armazenamento em cache é uma técnica que envolve o armazenamento temporário de dados frequentemente acessados em um servidor de cache, que fica entre o cliente e o servidor principal. Isso ajuda a reduzir o tempo de latência e o congestionamento da rede, melhorando a capacidade de resposta do serviço.

2.4 - UM MECANISMO DE BUSCA É UM SERVIDOR WEB QUE RESPODE AOS PEDIDOS DO CLIENTE PARA PESQUISAR EM SEUS INDICES ARMAZENADOS E (CONCOMITANTEMENTE) EXECUTA VARIAS TAREFAS DE WEB CRAWLING PARA CONSTRUIR E ATUALIZAR ESSES INDICES. QUAIS SÃO OS REQUISITOS DE SINCRONIZAÇÃO ENTRE ESSAS ATIVIDADES CONCOMITANTES?

Resposta:

requisitos de sincronização a serem considerados:

Agendamento de tarefas: O agendamento adequado das tarefas é fundamental para garantir que o web crawler e o mecanismo de indexação estejam trabalhando juntos em harmonia. É importante garantir que as tarefas de web crawling sejam executadas com frequência suficiente para coletar informações atualizadas, mas sem sobrecarregar o servidor.

Tratamento de duplicatas: Quando várias instâncias do web crawler são executadas simultaneamente, pode haver a coleta de duplicatas. Portanto, é necessário implementar mecanismos para identificar e lidar com duplicatas de forma eficiente, como por exemplo, verificar se um dado já foi indexado antes de adicioná-lo novamente aos índices.

Gerenciamento de atualizações: O mecanismo de indexação precisa ser atualizado sempre que novos dados são coletados pelo web crawler. Para isso, é necessário que o mecanismo de indexação tenha um mecanismo para receber atualizações do web crawler e incorporá-las aos índices existentes de forma consistente.

Gerenciamento de falhas: Em caso de falha do web crawler ou do mecanismo de indexação, é importante ter um mecanismo de recuperação que permita que as atividades sejam retomadas de onde pararam e sem perder informações já coletadas.

2.5 - FREQUENTEMENTE, OS COMPUTADORES USADOS NOS SISTEMAS PEER-TO-PEER- SÃO COMPUTADORES DESKTOP NOS ESCRITORIOS OU NAS CASAS DOS USUARIOS. QUAIS SÃO AS IMPLICAÇÕES DISSO NA DISPONIBILIDADE E SEGURANÇA DOS OBJETOS DE DADOS COMPARTILHADOS QUE ELES CONTÊM E ATÉ QUE PONTO QUALQUER VUNERABILIDADE PODE SER SUPERADA POR MEIO DA REPLICAÇÃO?

Resposta:

Pontos a serem considerados

Disponibilidade: Como os computadores desktop são frequentemente desligados ou desconectados da rede, pode haver uma menor disponibilidade dos dados compartilhados quando comparados a servidores dedicados. Isso pode resultar em tempos de resposta mais longos e possíveis falhas na entrega de dados.

Segurança: A segurança dos dados compartilhados pode ser comprometida devido à utilização de computadores desktop. Os computadores dos usuários podem não ter a mesma segurança que os servidores dedicados, o que pode levar a vulnerabilidades de segurança. Além disso, os usuários podem não estar cientes dos riscos de segurança ao compartilhar dados e podem maneira descuidada compartilhar informações sensíveis ou arquivos infectados com malware.

A replicação dos dados pode ajudar a superar algumas dessas vulnerabilidades. Ao replicar os dados em vários computadores na rede peer-to-peer, a disponibilidade pode ser aumentada, pois os dados podem ser fornecidos a partir de vários computadores, em vez de apenas um. Além disso, a replicação pode ajudar a garantir que os dados não sejam perdidos caso um computador seja desligado ou desconectado da rede.

A replicação sozinha não é suficiente para garantir a disponibilidade e segurança dos dados compartilhados. É essencial implementar medidas de segurança adequadas nos computadores desktop dos usuários, como o uso de software antivírus, firewalls e outras medidas de segurança para garantir a proteção dos dados compartilhados.


Exercícios Preparação de soluções Ácidas - Resolução

 Exercícios Preparação de soluções Ácidas - Resolução NAOH 0,5 Mol/L HCL 0,5 Mol/L NaCL 0,1Mol/L Resolução: