Definição – O que significa Sistema Distribuído?
Um sistema distribuído é qualquer estrutura de rede que consiste em computadores autônomos conectados por meio de um middleware de distribuição. Os sistemas distribuídos facilitam o compartilhamento de diferentes recursos e capacidades, para fornecer aos usuários uma rede coerente única e integrada.
O oposto de um sistema distribuído é um sistema centralizado. Se todos os componentes de um sistema de computação residem em uma máquina, como era o caso dos primeiros mainframes, como as máquinas Von Neumann, não é um sistema distribuído.
Definirtec explica sistema distribuído
Os principais recursos de um sistema distribuído são:
- Os componentes do sistema são simultâneos.
- Pode haver vários componentes, mas geralmente são autônomos por natureza.
- Um relógio global não é necessário em um sistema distribuído.
- Em comparação com outros modelos de rede, há maior tolerância a falhas em um modelo distribuído.
- A relação preço / desempenho é muito melhor.
Os principais objetivos de um sistema distribuído incluem:
-
Transparência: Alcançar a imagem de uma única imagem do sistema sem ocultar os detalhes de localização, acesso, migração, simultaneidade, falha, realocação, persistência e recursos para os usuários
-
Abertura: Tornando a rede mais fácil de configurar e modificar
-
Confiabilidade: Comparado a um único sistema, um sistema distribuído deve ser altamente capaz de ser seguro, consistente e ter uma alta capacidade de mascarar erros.
-
Atuação: Em comparação com outros modelos, espera-se que os modelos distribuídos dêem um impulso muito desejado de desempenho.
-
Escalabilidade: Os sistemas distribuídos devem ser escalonáveis em relação à geografia, administração ou tamanho.
Os desafios para sistemas distribuídos incluem:
-
A segurança é um grande desafio em um ambiente distribuído, especialmente ao usar redes públicas.
-
A tolerância a falhas pode ser difícil quando o modelo distribuído é construído com base em componentes não confiáveis.
-
A coordenação e o compartilhamento de recursos podem ser difíceis se não houver protocolos ou políticas adequadas em vigor.
-
O conhecimento do processo deve ser colocado em prática para os administradores e usuários do modelo distribuído.
Exemplos de sistemas distribuídos
Em certo sentido, qualquer sistema que tenha computadores autônomos trabalhando juntos é um sistema distribuído. A Internet, intranets corporativas e redes de telecomunicações são exemplos de sistemas distribuídos.
Depois, há também a definição de um componente como uma máquina. A máquina deve ter duas coisas – primeiro, ela deve ter memória local e, em segundo lugar, ela deve se conectar à rede. Com essas duas coisas em abundância nas redes modernas, é fácil configurar sistemas distribuídos para fazer um trabalho sofisticado. Uma das grandes questões, porém, é como facilitar a construção da rede, por exemplo, se usar topologias mais tradicionais, ou se mover em direção à virtualização de contêiner ou VM, ou utilizar sistemas em nuvem para abstrair topologias para o fornecedor.
Tipos de sistemas distribuídos
Vários tipos de sistemas distribuídos são usados para criar essas redes que atendem às pessoas das maneiras mencionadas acima.
Um tipo fundamental de sistema distribuído é um sistema cliente / servidor que divide a funcionalidade em ações por componentes individuais chamados “clientes” e respostas por um provedor no lado do servidor.
Além disso, novos tipos de sistemas distribuídos podem consistir em redes ponto a ponto. Eles são úteis quando já existe uma malha de componentes em rede, por exemplo, em sistemas ponto a ponto autônomos ou sistemas ponto a ponto que usam smartphones ou dispositivos de telefone móvel individuais. A ideia de uma Internet ponto a ponto descentralizada também foi lançada e redes semelhantes estão evoluindo com o advento da Internet das Coisas e a conectividade que isso implica.
O mundo da virtualização também mudou a forma como vemos os sistemas distribuídos. Não importa qual seja o modelo, os sistemas distribuídos de hoje são mais propensos a ser construídos com componentes virtuais do que construídos em bare-metal. Com o particionamento lógico dos sistemas e consequente versatilidade, torna-se mais fácil criar sistemas e serviços distribuídos em tempo real.