O que é computação distribuída?
- método de fazer vários computadores trabalharem juntos para resolver um problema comum.
- Isso faz com que uma rede de computadores pareça um único computador poderoso que fornece recursos em grande escala para lidar com desafios complexos.
Por exemplo, a computação distribuída pode criptografar grandes volumes de dados, resolver equações físicas e químicas com muitas variáveis e renderizar animações de vídeo tridimensionais de alta qualidade. Sistemas distribuídos, programação distribuída e algoritmos distribuídos são alguns outros termos, todos eles se referindo à computação distribuída.
Vantagens
Escalabilidade
- pode adicionar mais dispositivos de computação, à rede de computação distribuída quando for necessário com baixo custo
Disponibilidade
- não sofrerá impacto se um dos computadores falhar
- apresenta tolerância a falhas porque pode continuar funcionando mesmo se computadores individuais falharem.
Consistência
- os computadores compartilham informações e duplicam dados entre eles, mas o sistema gerencia automaticamente a consistência de dados em todos os computadores.
Transparência
- fornecem separação lógica entre o usuário e os dispositivos físicos.
- O usuário pode interagir com o sistema como se fosse um único computador, sem se preocupar com o ajuste e a configuração de máquinas individuais.
- O usuário pode ter diferentes hardwares, middlewares, softwares e sistemas operacionais que trabalham em conjunto para que seu sistema funcione sem problemas.
Eficiência
- oferecem uma performance mais rápida com uso otimizado dos recursos do hardware subjacente.
Tipos de arquitetura
Arquitetura cliente-servidor
O método cliente-servidor é o mais comum para a organização de software em um sistema distribuído. As funções são separadas em duas categorias: clientes e servidores.
Clientes
- têm informações e capacidade de processamento limitadas.
- fazem solicitações aos servidores, os quais gerenciam a maioria dos dados e outros recursos.
- o usuário pode fazer solicitações ao cliente e ele se comunicará com o servidor em seu nome.
Servidores
- Os computadores servidores sincronizam e gerenciam o acesso aos recursos.
- Eles respondem às solicitações do cliente com dados ou informações de estado.
- um servidor pode lidar com solicitações de várias máquinas.
Benefícios e limitações
A arquitetura cliente-servidor oferece os benefícios de segurança e de facilidade de gerenciamento contínuo. Você só precisa se concentrar em assegurar a proteção dos computadores servidores. De modo semelhante, quaisquer alterações nos sistemas de banco de dados requerem alterações apenas no servidor.
A limitação da arquitetura cliente-servidor é que os servidores podem causar gargalos na comunicação, principalmente quando diversas máquinas fazem solicitações simultaneamente.
Arquitetura de três camadas
- As máquinas clientes → primeira camada que o usuário acessa
- As máquinas servidoras → são divididas em duas categorias:
Servidores de aplicações
- atuam como a camada intermediária para a comunicação.
- Eles contêm a lógica da aplicação ou as funções principais para as quais você desenvolveu o sistema distribuído.
Servidores de banco de dados
- atuam como a terceira camada para o armazenamento e o gerenciamento dos dados.
- Eles são responsáveis pela recuperação e pela consistência de dados.
A divisão reduz os gargalos de comunicação e melhoram a performance da computação distribuída.
Arquitetura de multicamadas
Os modelos de multicamadas incluem diversos sistemas cliente-servidor diferentes que se comunicam entre si para resolver o mesmo problema. A maioria dos sistemas distribuídos modernos usa uma arquitetura de multicamadas com diferentes aplicações empresariais trabalhando em conjunto como um sistema em segundo plano.
Arquitetura ponto a ponto
- atribuem responsabilidades semelhantes a todos os computadores em rede.
- Não há distinção entre os computadores cliente e servidor, e qualquer computador pode executar todas as responsabilidades.
- tornou-se popular para compartilhamento de conteúdo, transmissão de arquivos e redes blockchain.
Como funciona a computação distribuída
- funciona por computadores que transmitem mensagens entre si dentro da arquitetura dos sistemas distribuídos.
- Os protocolos ou regras de comunicação criam uma dependência entre os componentes do sistema distribuído.
- Essa interdependência é chamada de acoplamento
Acoplamento fraco
- os componentes são parcialmente conectados para que as alterações em um componente não afetem outros.
- Por exemplo, os computadores cliente e servidor podem ter um acoplamento fraco pela ação do tempo. As mensagens do cliente são adicionadas a uma fila do servidor e o cliente pode continuar a executar outras funções até que o servidor responda à sua mensagem.
Acoplamento forte
- Sistemas distribuídos de alta performance geralmente usam
- As redes locais rápidas normalmente conectam vários computadores, o que cria um cluster.
- Na computação em cluster, cada computador é configurado para executar a mesma tarefa.
- Os sistemas de controle central, chamados de middleware de cluster, controlam e agendam as tarefas, bem como coordenam a comunicação entre os diferentes computadores.
Computação Paralela
- corresponde a um tipo de computação em que um ou vários computadores em uma rede realizam diversos cálculos ou processos simultaneamente.
- Embora os termos computação paralela e computação distribuída sejam frequentemente usados de forma intercambiável, eles têm algumas diferenças.
DIFERENÇA DE PARALELA E DISTRUBUÍDA
Processamento:
- Paralelo → todos os processadores têm acesso à memória compartilhada para trocas de informações entre eles.
- Distribuído → cada processador possui um memória particular (memória distribuída). Os processadores usam transmissões de mensagens para trocas de informações.
Computação em Grade
- redes de computadores distribuídas geograficamente trabalham juntas para realizar tarefas comuns.
- Um recurso das grades distribuídas é que você pode formá-las utilizando recursos de computação que pertencem a diversos indivíduos ou organizações.
Computação em grade versus computação distribuída A computação em grade é uma computação distribuída com alta escalabilidade que enfatiza a performance e a coordenação entre diversas redes. No nível interno, cada grade atua como um sistema de computação fortemente acoplado. No entanto, no nível externo, as grades tem um acoplamento mais fraco. Cada rede em grade executa funções individuais e comunica os resultados para as outras grades.
Questão para praticar
Considere que uma arquitetura distribuída disponibilize serviço na Web, contendo um servidor web, e que vários clientes acessem esse servidor por meio de chamadas de procedimento remoto, usando o HTTP. Nessa situação, a arquitetura é do tipo cliente-servidor, em que o modelo lógico de serviços independentes, rodando em servidores separados, pode ser implementado em um único computador.
C) Certo
E) Errado
0 Comentários