Características distribuídas, arquitetura, tipos, objetivos, aplicações

Características distribuídas, arquitetura, tipos, objetivos, aplicações

O Sistemas distribuídos São peças de software que servem para coordenar as ações de vários computadores. Essa coordenação é alcançada pela troca de mensagens, ou seja, com dados que transmitem informações.

Os sistemas distribuídos requerem componentes simultâneos, uma rede de comunicação e um mecanismo de sincronização. Eles permitem compartilhar recursos, incluindo software, por sistemas conectados a uma rede. Portanto, o sistema é baseado em uma rede que conecta computadores e lida com mensagens.

A e B (sistemas distribuídos). B (sistema paralelo). Miym/CC BY-SA (https: // CreativeCommons.Org/licenças/BY-SA/3.0)

A computação distribuída é uma área de ciência da computação responsável por analisar sistemas distribuídos. O programa de computador que é executado em um sistema distribuído é chamado de programa distribuído.

Em um contexto em que centenas ou milhares de computadores podem existir, o que é uma proporção comum em grandes empresas de Internet, é muito comum que haja falhas nos componentes, sejam hardware, rede, discos etc., E o sistema deve estar preparado para enfrentá -los o tempo todo.

[TOC]

Distribuição de dados

A distribuição é essencial para gerenciar conglomerados de dados muito grandes. É necessário alcançar a escalabilidade, que são os meios para manter o desempenho estável quando os clusters de dados crescem adicionando novos recursos ao sistema.

Por outro lado, a distribuição apresenta uma série de problemas técnicos que tornam o design e a implementação de um armazenamento e computação distribuídos. Um ponto a ser levado em consideração é o risco de possíveis falhas.

Características dos sistemas distribuídos

A e B (sistemas distribuídos). B (sistema paralelo). Miym/CC BY-SA (https: // CreativeCommons.Org/licenças/BY-SA/3.0)

Compatibilidade

Os dispositivos podem funcionar com diferentes sistemas operacionais. Isso não os impede de sempre oferecer os mesmos serviços aos usuários. Por esse motivo, todos os dispositivos conectados são compatíveis entre si.

Outra questão fundamental é o design de software, porque isso também é compatível com todos os sistemas e usuários que estão em cada computador.

Tolerância ao erro

Sendo uma única rede com muitos computadores, se algum de seus componentes falhar, outros poderão continuar a desempenhar sua função completamente, evitando erros rapidamente.

Por esse motivo, os sistemas distribuídos geralmente proporcionam muita confiança ao trabalhar com eles, porque é bastante raro que o sistema falhe completamente, porque as tarefas não residem em um único dispositivo, mas em equipamentos diferentes.

Middleware e API

Diferentes processadores usam um middleware de distribuição, ajudando a compartilhar diferentes recursos e capacidades para fornecer aos usuários uma rede coerente e integrada. Ele também oferece aplicativos uma série de serviços, como recuperação de segurança e falha.

Atualmente, são ouvidos mais sobre interfaces de programação de aplicativos (API), que funcionam como uma porta de link onde os aplicativos podem se comunicar. As aplicações não precisam saber nada sobre outras aplicações, exceto sua API.

Pode atendê -lo: vantagens e desvantagens da Internet

Arquitetura

Arquitetura do cliente-servidor

Um computador em particular chamado servidor pode executar determinadas tarefas, que são chamadas de serviços. Por exemplo, ofereça arquivos através da rede, capacidade de executar certos comandos ou enrolar dados para uma impressora. O cliente é o computador que solicita os serviços.

O computador conhecido principalmente pelo serviço que ele fornece pode ser chamado de servidor de impressão, servidor de arquivos etc.

Arquitetura de igual a igual (ponto a ponto)

Pressupõe que cada computador tenha recursos semelhantes e que nenhuma máquina se dedica a servir os outros. Um exemplo disso é um conjunto de microcomputadores em um pequeno escritório.

A rede permite que as pessoas acessem os arquivos de outras pessoas e enviem e -mails, mas nenhum computador fornece um conjunto específico de serviços.

Várias arquiteturas de nível

Para certos serviços, pode fazer sentido fazer conectividade hierárquica. Por exemplo:

  • Um servidor ao executar suas tarefas pode entrar em contato com outro servidor de diferentes tipos
  • A arquitetura do servidor do cliente é uma arquitetura de dois níveis.

Arquitetura do grupo de processadores

Um sistema operacional pode iniciar automaticamente processos de computadores inativos e até migrar processos para sistemas com um número maior de ciclos disponíveis da CPU. Em outros casos, um usuário pode iniciar ou mover processos manualmente nos sistemas disponíveis.

Tipos de sistemas distribuídos

Computação em cluster

É um conjunto de computadores semelhantes conectados através de uma rede de área local de alta velocidade. É frequentemente usado para programação paralela, onde um único programa de computador intensivo é executado em paralelo em vários computadores.

Cada cluster consiste em um conjunto de nós de computador que são monitorados e gerenciados por um ou mais nós chamados professores.

Computação de rede

Consiste em nós com diferenças marcantes em hardware e tecnologia vermelhos. A tendência atual de ter uma configuração específica de nós para determinadas tarefas levou a uma maior diversidade, que é a mais frequente na computação de rede.

Computação em nuvem

É um conjunto de recursos virtualizados alojados no data center de um fornecedor de nuvem. Os clientes podem estabelecer infraestrutura virtualizada para aproveitar uma variedade de serviços em nuvem.

Para o usuário, parece que ele está alugando seu próprio computador exclusivo. No entanto, na realidade, é provável que esteja compartilhando com outros clientes. O mesmo se aplica ao armazenamento virtual.

Esses recursos virtualizados podem ser configurados dinamicamente, permitindo a escalabilidade. Se mais recursos do computador forem necessários, o sistema poderá adquirir mais.

Pode atendê -lo: Sistemas especializados: história, características, vantagens, desvantagens

Metas

Compartilhar recursos

Sejam instalações de armazenamento, arquivos de dados, serviços ou redes, você pode compartilhar esses recursos entre os aplicativos, por economia simples.

É muito mais barato ter uma instalação de armazenamento compartilhada entre vários aplicativos do que ter que comprar e manter armazenamento para cada um separadamente.

Abstração

Esconder que os processos e recursos são distribuídos em vários computadores, possivelmente geograficamente disseminados. Isto é, os processos e recursos são abstraídos do usuário.

Abertura

Basicamente indica que um sistema distribuído é erguido com elementos que podem ser facilmente integrados a outros sistemas. Cumprindo as regras normalizadas, qualquer processo com essa interface pode se comunicar com outro processo com a mesma interface.

Interoperabilidade e portabilidade

Refere -se quando dois sistemas de diferentes fabricantes podem trabalhar juntos. A portabilidade determina até que ponto um aplicativo feito para o sistema A pode operar no sistema B sem modificações.

Escalabilidade

É necessário quando há um aumento de usuários que precisam de mais recursos. Um bom exemplo é o aumento do público da Netflix toda sexta à noite.

Significa adicionar dinamicamente mais recursos, como aumentar a capacidade da rede, permitindo uma maior transmissão de vídeo e reduzindo -o assim que o consumo normalizou.

Formulários

Máquina virtual erlag

O pacote de software Lyme é baseado em Erlang e oferece uma alternativa à lâmpada. Shmuel Csaba Otto Tranian/CC BY-SA (https: // CreativeCommons.Org/licenças/BY-SA/3.0)

Erlang é uma linguagem funcional que tem uma grande semântica para a concordância, distribuição e tolerância de falhas. Uma máquina virtual Erlang gerencia a distribuição de um aplicativo ERLAG.

Este modelo funciona com muitos processos isolados, tudo com a capacidade de se comunicar através de uma mensagem incorporada de mensagens.

A máquina virtual Erlang pode ser conectada a outras máquinas virtuais que estão em lugares diferentes. Este enxame de máquinas virtuais executa um único aplicativo, lidando com as falhas de uma máquina programando sua execução em outro nó.

BitTorrent

Operação da rede BitTorrent. Mrjavi/CC BY-SA (https: // CreativeCommons.Org/licenças/BY-SA/4.0)

É um dos protocolos mais usados ​​para transferir arquivos grandes na web. A idéia principal é facilitar a transferência de arquivos entre diferentes pares na rede sem ter que passar por um servidor principal.

Ao usar um cliente BitTorrent, você pode se conectar a vários computadores em todo o mundo para baixar um arquivo. Um computador que atua como coordenador ajuda a mostrar os nós na rede que têm o arquivo desejado.

O BitTorrent permite que você abrigue arquivos voluntariamente e envie -os para outros usuários que os desejam. É tão popular porque foi o primeiro do gênero a oferecer incentivos para contribuir com a rede.

Pode atendê -lo: Thermoelétrico Central

Vantagens

- Mais nós pode ser facilmente adicionado ao sistema distribuído, ou seja, pode ser escalado conforme necessário.

- Todos os nós no sistema distribuído estão conectados um ao outro. Portanto, cada um dos nós pode compartilhar facilmente dados com os outros nós.

- Recursos como impressoras podem ser compartilhados com vários nós em vez de restringir um.

- A culpa de um nó não leva à falha de todo o sistema distribuído. Os outros nós ainda podem se comunicar.

Desvantagens

- Algumas mensagens e dados podem ser perdidos na rede ao passar de um nó para outro.

- É difícil fornecer segurança adequada em sistemas distribuídos porque os nós e as conexões devem ser garantidos.

- Uma sobrecarga na rede pode ocorrer se todos os nós do sistema distribuído tentarem enviar dados ao mesmo tempo.

- O banco de dados conectado aos sistemas distribuídos é bastante complicado e difícil de lidar em comparação com um único sistema de usuário.

Exemplos de sistemas distribuídos

Os sistemas distribuídos podem ser usados ​​em um grande número de casos, como sistemas bancários eletrônicos, jogos multiplayer em massa e redes de sensores.

Stackpath

Use um sistema distribuído particularmente grande para aumentar seu serviço de rede de entrega de conteúdo. Cada um de seus pontos de presença (POP) tem nós, formando um sistema distribuído em todo o mundo.

O StackPath armazena o conteúdo solicitado mais recentemente e com mais frequência nos locais mais próximos do site que está sendo usado.

Ao interconectar os computadores virtuais, além de aproveitar a velocidade e a agilidade da ciência da computação da TIP, o sistema pode lidar com milhares de aplicações simultâneas muito rapidamente.

Internet

É o maior sistema distribuído do mundo. Qualquer usuário sente como se fosse um único sistema, embora seja composto de milhões de computadores.

Através do conceito de abstração, não há idéia de onde os dados são armazenados, quantos servidores estão envolvidos ou como as informações para o navegador chegam. O navegador dissolve a complexidade da internet.

Isso também se aplica a aplicativos como o email do Gmail ou qualquer outro aplicativo que possa ser usado. Todas as pessoas interagem diariamente com aplicativos distribuídos.

Referências

  1. Paul Krzyzanowski (2018). Sistemas distribuídos. Retirado de: CS.Rutgers.Edu.
  2. Catherine Paganini (2019). Primeiro: sistemas distribuídos e computação nativa em nuvem. A nova pilha. Retirado de: ThenewStack.Io.
  3. Universidade Internacional de Valencia (2020). Sistemas distribuídos, características e classificação. Retirado de: Universityviu.com.
  4. David Meador (2018). Sistemas distribuídos. Ponto de tutoriais. Retirado de: TutorialSpoint.com.
  5. Robert Gibb (2019). O que é um sistema distribuído? Retirado de: Blog.Stackpath.com.
  6. Stanislav Kozlovski (2018). Para introdução completa aos sistemas distribuídos. Acampamento de código livre. Retirado de: Freecodecamp.org.