Sistemas Distribuídos: Modelos, Arquiteturas e Tipos
Classificado em Computação
Escrito em em
português com um tamanho de 3,19 KB
Sistemas Síncronos e Assíncronos
Sistemas síncronos são sistemas ligados em que é definido o tempo de início e o tempo final de uma operação. Por exemplo, o tempo necessário para uma mensagem ser enviada ou recebida. A vantagem de se ter um sistema síncrono é que, além de saber os limites de tempo, isso tem como resposta uma maior precisão do sistema e menores gastos de consulta para saber se a solicitação foi recebida e executada.
Sistemas assíncronos são sistemas onde não há esse tempo de resposta definido. Por exemplo, se um usuário fizer uma solicitação ao serviço de internet, ele não tem previsão de quando receberá a resposta, como ocorre no acesso à internet e na resposta de um site.
O que é um Sistema Distribuído e seus Modelos
Um sistema distribuído é um conjunto de dispositivos independentes conectados através de uma rede, com o objetivo de realizar a troca de mensagens entre eles. Os dois principais modelos são:
Computação em Cluster (Agrupamento): Conjunto de computadores conectados em rede de alta velocidade, em geral utilizado para programação paralela, onde cada um tem acesso a determinada parte do sistema. Dessa forma, há a possibilidade de o trabalho ser feito de forma mais rápida, onde cada um faz uma parte da tarefa. Apresenta ganho na relação preço/desempenho e geralmente utiliza o mesmo hardware e sistema operacional (SO).
Computação em Grade (Grid): Conjunto de computadores de diferentes hardwares, sistemas operacionais e tecnologias de rede, pertencentes a organizações diferentes. Possui alto grau de heterogeneidade (hardware, SO, rede, etc.). Os recursos de diferentes organizações são reunidos para permitir a colaboração de um grupo de pessoas ou instituições.
Características dos Sistemas P2P (Peer-to-Peer)
- Arquitetura totalmente distribuída (sem qualquer controle centralizado).
- Sem distinção entre clientes e servidores (cada nó é cliente e servidor ao mesmo tempo).
- Nós podem trocar recursos diretamente entre si.
- Nós são autônomos para se juntarem ao sistema ou deixá-lo quando quiserem.
- Necessidade de código de coordenação em cada nó para manter a consistência dos recursos e sincronizar as ações em nível de aplicação.
- Interação entre nós pode ser feita utilizando mecanismos apropriados para comunicação em grupo (difusão seletiva, notificação de eventos).
Objetos Distribuídos e Modelo Cliente-Servidor
Divisão das responsabilidades entre os componentes do sistema de acordo com dois papéis bem definidos:
- Servidores: São responsáveis por gerenciar e controlar o acesso aos recursos mantidos no sistema.
- Clientes: Interagem com servidores de modo a terem acesso aos recursos que estes gerenciam.
- Alguns servidores podem assumir o papel de clientes de outros servidores (Ex.: Servidor web no papel de cliente de um servidor de nomes).
Este continua sendo o modelo de sistema distribuído mais estudado e utilizado na prática!