Afinal o que é um sistema distribuído?

15 Comentários

Os sistemas distribuídos estão em todo o lugar, ou melhor, acessíveis a partir de qualquer lugar. Segundo Tanenbaum, um sistema distribuído é um conjunto de computadores independentes entre si (e até diferentes), ligados através de uma rede de dados, que se apresentam aos utilizadores como um sistema único e coerente.

Conheça alguns exemplos de sistemas distribuídos, características e também os principais desafios na construção de sistemas distribuídos.

img0


No mundo da tecnologia actual, são vários os exemplos de sistemas distribuídos. Alguns que se destacam:

  • Sistemas de pesquisas (motores de busca)
  • Sistemas financeiros
  • Jogos Online
  • Redes Sociais e plataformas idênticas
  • etc.

Todos os sistemas apresentados anteriormente têm máquinas dispersas por todo o mundo, com acessos concorrentes e muitos desafios nos processos de comunicação (ex. hora do sistema – devido à distribuição geográfica, possíveis falhas de componentes, etc). A comunicação é simplesmente feita com base em mensagens.

virtual_shop101-online

Mas há outros desafios na implementação de sistemas distribuídos que se destacam como é o caso da:

  • Heterogeneidade
    • Sistemas Operativos diferentes
    • Tipos de Redes de Comunicação variadas
    • Hardware diferente
  • Sistemas Abertos
    • Para que os sistemas “falem” entre eles é importante que estes sejam abertos pois só assim será também mais fácil a extensão/re-implementação.
  • Segurança
    • Um factor fundamental para a transmissão de informação entre sistemas. A encriptação pode ser usada para a comunicação de mensagens na rede
  •   Escalabilidade
    • Um sistema distribuído deve ser escalável para que possam ser adicionados novos sistemas de uma forma simples, com custos reduzidos e sem impacto no serviço.
  • Tratamento de Falhas
    • Qualquer processo, computador ou rede pode falha de forma independente: A acontecer, tal não deve afectar o serviço.
  • Concorrência
    • A presença de múltiplos utilizadores num sistema distribuído pode significar o acesso/modificação simultâneo de um recurso.
  • Qualidade de Serviço (QoS)
    • O QoS está relacionado com a fiabilidade do serviço.

Nos próximos artigos iremos abordar algumas tecnologias/técnicas usadas na construção de sistemas distribuídos.

Comentários

15

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Benchmark do iPhone 6
    Benchmark do iPhone 6

    Há uma coisa sobre a Apple que se tem falado pouco. Fala-se do iPhone, do Apple Watch, do Apple Car, mas não do iEmpire – 1000 milhões de dólares em data-centers só em 2014, para trazer os conteúdos para mais próximo do consumidor e mais rápido. É muita massa.

    http://www.bloomberg.com/news/articles/2015-06-08/apple-said-to-build-high-speed-network-for-fast-content-delivery

    1. Avatar de Pedro Pinto

      ok, é um exemplo válido de um sistema distribuído (data-centerS) 🙂

      1. Avatar de André
        André

        A apple comprou este ano a foundationdb, que é um tipo de base de dados distribuída. Pode estar relacionado.

  2. Avatar de Whatever
    Whatever

    Sim sr, já tinha saudades de um bom tema à Pedro Pinto.
    Espero a continuação do mesmo.

    1. Avatar de Pedro Pinto

      eh eh eh, o mercado está diferente.

  3. Avatar de Rui
    Rui

    Parece-me que existe aqui uma certa confusão, entre um sistema distribuído e uma aplicação web. Num sistema distribuído tem de existir uma aplicação local instalada, com acesso a dados comuns, que estão noutro lugar, por exemplo. Não é independente do sistema operativo, tem de existir uma compilação para o SO . Uma aplicação web, é verdadeiramente independente do SO. Apenas precisa de um browser, seja em que SO for.

    1. Avatar de Pedro Pinto

      ” computadores independentes entre si” e com diferentes sistemas operativos.

  4. Avatar de Lino Lisboa
    Lino Lisboa

    Bons artigos Pedro Pinto.
    Isto dos sistemas distribuídos assemelha-se à ideia que podemos/devemos construir aplicações ‘as a service’? Como por exemplos serviços Cloud? E aí há diferenças entre os clientes? Como por exemplo Nativo vs Web

  5. Avatar de Rui
    Rui

    Um exemplo de sistema distribuído são os torrents e as cryptomoedas..

  6. Avatar de Sergio J
    Sergio J

    No Mestrado/Pós Graduação tinha duas cadeiras de sistemas distribuidos. Na primeira eram apresentados todos os fundamentos e na segunda era apresentada os mecanismos de fiabilidade, tolerância a falhas, QoS, etc
    Na altura profissionalmente era uma area que profissionalmente estava intimamente ligado.
    Os professores diziam que a primeira cadeira era para quando tudo corria bem e a segunda para quando tudo corria mal.

    1. Avatar de chicosoft
      chicosoft

      Será que tivemos o mesmo prof? Tolerancia a Faltas distribuidas ?

  7. Avatar de Abrao
    Abrao

    Obrigado pelo artigo é excelente.
    Gostaria que ajudassem se poder, sou estudante de informática especificamente engenharia de rede de computadores do quarto ano de faculdade porém é o último e estou sem ideias na escolha de tema para monografia. Se tiverem sugestões de temas agradecia o favor

  8. Avatar de davydson wissley
    davydson wissley

    isso tudo facilita o aprendizado, principalmente de iniciantes na área .

  9. Avatar de gesser paixao
    gesser paixao

    O Torrent, é orientado por conexão P2P que é um elemento de sistemas distribuídos, é uma arquitetura de redes de computadores onde cada um dos pontos (nós) da rede funciona tanto como cliente quanto como servidor, sem a necessidade de um servidor central, que permite permite compartilhamentos de serviços e dados. O computador/dispositivo deve ter instalado o programa para virar um semeador.