Conceitos de Sistemas Distribuídos
Conceitos de Sistemas Distribuídos
Conceitos de Sistemas Distribuídos
Você sabia que seu material didático é interativo e multimídia? Isso significa que você pode interagir com o conteúdo de diversas formas, a
qualquer hora e lugar. Na versão impressa, porém, alguns conteúdos interativos ficam desabilitados. Por essa razão, fique atento: sempre
que possível, opte pela versão digital. Bons estudos!
Nesta webaula conheceremos a evolução dos sistemas computacionais, os conceitos básicos de sistemas
distribuídos, bem como classificá-los.
Sistema Distribuído
Camadas que compõem um sistema distribuído
Middleware
Em um sistema distribuído, a camada de middleware é um dos fatores principais para o bom funcionamento
de aplicações distribuídas, esta camada é um software que está entre os programas criados e o sistema
operacional, ou seja, é uma camada central que tem a função de permitir que haja um gerenciamento de
dados e uma comunicação entre camadas para o funcionamento de aplicações distribuídas. O middleware
funciona como uma camada de tradução para interligar sistema operacional com programas.
As mais diversas redes sociais que utilizamos hoje em dia como redes sociais com conteúdo multimídias são
exemplos de sistemas distribuídos, assim como sites de pesquisas e plataformas de vídeos online.
Quando trabalhamos com sistemas distribuídos temos objetivos claros a serem alcançados em nosso sistema em
sua criação, esses são:
Disponibilidade alta e fácil de acesso ao sistema e todos os seus recursos, tanto pelas máquinas que
fazem parte do sistema distribuído, quanto ao usuário final.
Devemos também ocultar ao usuário que os recursos de nosso sistema são distribuídos, essa é uma
característica muito importante.
O sistema distribuído deve ser aberto, ou seja, ter facilidade para inclusão de novas máquinas e recursos
nesse ambiente que já funciona. Sendo assim esse sistema pode ser expandido facilmente.
Modelos de arquitetura de redes de computadores
Arquitetura cliente-servidor
Essa talvez seja a arquitetura mais conhecida e utilizada nos sistemas informatizados, tendo sua origem na década
de 70.
Neste tipo de arquitetura, teremos alguns serviços e recursos a serem compartilhados para vários usuários, que
podem ser disponibilizados em um único computador – sendo chamados de servidores multisserviço – ou sendo
segregados, ou seja, um serviço ou recurso por computador e; neste caso, sendo chamados de acordo com os
serviços disponibilizados (por exemplo, servidor de banco de dados, servidor de autenticação de usuários, etc.).
Esses servidores estarão conectados através de equipamentos de rede; como switches, roteadores e firewalls,
tipicamente à Internet, para que as pessoas possam acessá-los remotamente e utilizar os serviços e recursos
disponibilizados por estes, através de máquinas denominadas cliente (por exemplo, laptops, desktops,
smartphones e tablets), que por sua vez também estarão conectados através de equipamentos de rede à
Internet.
Arquitetura descentralizada
Arquitetura mais recente, a partir dos 2000, pode ser vista como uma arquitetura híbrida entre a cliente-servidor e
a ponto a ponto.
Na arquitetura descentralizada os computadores são os próprios servidores da aplicação (serviço ou recurso a ser
compartilhado), o que se assemelha à arquitetura ponto a ponto. Entretanto, diferentemente do que ocorre na
arquitetura ponto a ponto, o estado da aplicação (por exemplo, os valores atuais das variáveis utilizadas na tal
aplicação) é replicado entre todos os computadores na rede, de maneira que exista um chamado consenso entre
os computadores nessa rede.
Essa é a arquitetura utilizada pelas plataformas baseadas em Blockchain, e tem se tornado mais populares após a
advento do Bitcoin.Aplicações que funcionam sobre esse tipo de plataforma são chamadas de dApps (do inglês,
Decentralized Application). Uma dasprincipais vantagens ao utilizar esse tipo de arquitetura é a de que não há
uma entidade que controle sua aplicação, como tipicamenteocorre nas arquiteturas cliente-servidor.