O documento discute sistemas distribuídos, definindo-os como conjuntos de processos que se comunicam através de uma rede para realizar tarefas. Detalha características como tolerância a falhas, comunicação por troca de mensagens e tipos como computação em cluster, rede e nuvem. Apresenta exemplos como a Internet e sistemas bancários.
O documento discute sistemas distribuídos, definindo-os como conjuntos de processos que se comunicam através de uma rede para realizar tarefas. Detalha características como tolerância a falhas, comunicação por troca de mensagens e tipos como computação em cluster, rede e nuvem. Apresenta exemplos como a Internet e sistemas bancários.
O documento discute sistemas distribuídos, definindo-os como conjuntos de processos que se comunicam através de uma rede para realizar tarefas. Detalha características como tolerância a falhas, comunicação por troca de mensagens e tipos como computação em cluster, rede e nuvem. Apresenta exemplos como a Internet e sistemas bancários.
O documento discute sistemas distribuídos, definindo-os como conjuntos de processos que se comunicam através de uma rede para realizar tarefas. Detalha características como tolerância a falhas, comunicação por troca de mensagens e tipos como computação em cluster, rede e nuvem. Apresenta exemplos como a Internet e sistemas bancários.
Baixe no formato PPTX, PDF, TXT ou leia online no Scribd
Fazer download em pptx, pdf ou txt
Você está na página 1de 27
Sistemas distribuídos
Sistema operativo servidor;
Características de sistemas distribuídos Tipos de sistemas distribuídos; Instalação do Windows servidor ou Linux; Instalação de serviços básicos; Sistemas distribuídos (definição) • Sistemas distribuídos O que é um sistema distribuído? • Um sistema distribuído é um conjunto de processos que se comunicam e colaboram para realizar uma tarefa. A tarefa pode ser de qualquer natureza, desde aplicações específicas como um sistema de compras de uma loja virtual, até mesmo genéricas, como os sistemas de middleware que dão suporte à criação de aplicações distribuídas. Um processo é um programa em execução. Onde é executado o processo? • Pode ser em qualquer tipo de dispositivo, como um computador, ou um celular ou até mesmo um relógio ou aparelho de televisão, qualquer dispositivo de hardware que possa executar programas. Sistemas distribuídos (cont…) Os sistemas distribuídos são peças de software usadas para coordenarem as acções de vários computadores. Essa coordenação é alcançada através da troca de mensagens, isto é, com pedaços de 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 que recursos, incluindo software, sejam compartilhados por sistemas conectados a uma rede. Portanto, o sistema é baseado em uma rede que conecta computadores e lida com o roteamento de mensagens. • 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. Sistemas distribuídos Distribuição de dados • A distribuição é essencial para lidar com clusters de dados muito grandes. É necessário obter escalabilidade, que é o meio de manter um desempenho estável quando os conjuntos de dados crescem adicionando novos recursos ao sistema. • Por outro lado, a distribuição apresenta uma série de problemas técnicos que tornam importante o design e a implementação de armazenamento e computação distribuídos. Um ponto a ser levado em consideração é o risco de possíveis falhas. Características de sistemas distribuídos Características dos sistemas distribuídos Compatibilidade • Os dispositivos podem funcionar com diferentes sistemas operacionais. Isso não os impede de oferecer sempre 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 do software, porque também é compatível com todos os sistemas e usuários que estão em cada computador. Tolerância ao erro • Sendo uma rede única com muitos computadores, se algum de seus componentes falhar, os outros poderão continuar executando sua função completamente, evitando erros rapidamente. Características (cont…) • Por esse motivo, os sistemas distribuídos tendem a fornecer muita confiança ao trabalhar com eles, porque é muito raro o sistema falhar completamente, porque as tarefas não residem em um único dispositivo, mas em computadores diferentes. Middleware e API • Processadores diferentes usam middleware de distribuição, ajudando a compartilhar diferentes recursos e capacidades para fornecer aos usuários uma rede consistente e integrada. Ele também oferece aos aplicativos diversos serviços, como segurança e recuperação de falhas. • Actualmente, mais se ouve sobre APIs (interfaces de programação de aplicativos), que funcionam como um gateway através do qual os aplicativos podem se comunicar. Os aplicativos não precisam saber nada sobre outros aplicativos, excepto sua API. Características (cont…) • Por esse motivo, os sistemas distribuídos tendem a fornecer muita confiança ao trabalhar com eles, porque é muito raro o sistema falhar completamente, porque as tarefas não residem em um único dispositivo, mas em computadores diferentes. Middleware e API • Processadores diferentes usam middleware de distribuição, ajudando a compartilhar diferentes recursos e capacidades para fornecer aos usuários uma rede consistente e integrada. Ele também oferece aos aplicativos diversos serviços, como segurança e recuperação de falhas. • Actualmente, mais se ouve sobre APIs (interfaces de programação de aplicativos), que funcionam como um gateway através do qual os aplicativos podem se comunicar. Os aplicativos não precisam saber nada sobre outros aplicativos, excepto sua API. Cont… Comunicação por Trocas de Mensagens • Utilização de meios de comunicação introduz características diferentes no modelo de comunicação; • A comunicação fica sujeita a um conjunto de factores que podem afectar sua confiabilidade - perdas/interferências; Cont… Protocolos • Garantir confiabilidade e ordem das mensagens; • Interligação de várias redes; • Atraso; • Falha na Transmissão; • Tempo máximo de espera por uma mensagem. Modelo de Falhas • Maior probabilidade de falhas - maior quantidade de equipamentos; • Falhas individuais não podem afectar o sistema como um todo; • Algoritmos de detecção e recuperação de falhas; • Replicações, Redundâncias; Cont… Factores que levam a falhas • Elementos de interligação; • Interferências, cabeamento mal estruturado, intempéries naturais; • Falta de alimentação elétrica nos equipamentos; • Nós do sistema; • Falhas de software (erro de programação); • Falhas físicas (crash em equipamento). Cont… Desempenho • Desempenho de um SD deve ser compatível com um Sistema Centralizado; • Divisão do processamento entre os diversos nós; • Custo da comunicação; • Com SD é possível atingir desempenhos jamais imagináveis com Sistemas Centralizados. Custo • Pode-se obter um SD com a mesma quantidade de processadores de um SC com um custo muito menor; • Utilização de múltiplos processadores de baixo custo interligados em rede; • Capacidade de se obter um desempenho muito maior com o mesmo investimento do que em um Sistema Centralizado. Cont… Disponibilidade • Tempo em que o sistema é “utilizável”. Desejável = 100%. • Máquinas independentes podem continuar mantendo o sistema em operação no caso de falhas em outras máquinas; • Sistema deve ser projetado para tal; Exemplos Exemplos • Sistema bancário; • Web Servers; • Garantia de Disponibilidade; • Redundância (software, hardware); • Algoritmos de recuperação. Tipos de sistemas distribuídos
Tipos de sistemas distribuídos
Computação em cluster • É um conjunto de computadores semelhantes conectados através de uma rede local de alta velocidade. É frequentemente usado para programação paralela, onde um único programa com uso intensivo de computador é executado paralelamente em vários computadores. • Cada cluster consiste em um conjunto de nós de computação que são monitorados e gerenciados por um ou mais nós chamados de mestres. Cont… Computação em Rede • É composto de nós com diferenças marcantes no hardware e na tecnologia da rede. A tendência actual de ter uma configuração de nó específica para determinadas tarefas levou a uma maior diversidade, o que é mais comum na computação em rede. Computação em nuvem • É um conjunto de recursos virtualizados hospedados no datacenter de um provedor de nuvem. Os clientes podem estabelecer uma infra-estrutura virtualizada para aproveitar uma variedade de serviços em nuvem. • Para o usuário, parece que eles estão alugando seu próprio computador exclusivo. No entanto, na realidade, você provavelmente está compartilhando com outros clientes. • O mesmo se aplica ao armazenamento virtual. Cont… Esses recursos virtualizados podem ser configurados dinamicamente, permitindo escalabilidade. Se forem necessários mais recursos de computação, o sistema poderá adquirir mais. Exemplos de sistemas distribuídos
Exemplos de sistemas distribuídos
• Os sistemas distribuídos podem ser usados em um grande número de casos, como sistemas bancários electrónicos, jogos online para vários jogadores e redes de sensores. • StackPath • Ele usa um sistema distribuído particularmente grande para alimentar seu serviço de rede de entrega de conteúdo. Cada um de seus pontos de presença (PoP) possui nós, formando um sistema distribuído mundialmente. • O StackPath armazena o conteúdo solicitado mais recentemente e com mais frequência nos locais mais próximos ao site em uso. Cont… Ao interconectar computadores virtuais, além de aproveitar a velocidade e a agilidade da computação de ponta, o sistema pode lidar com milhares de solicitações simultâneas muito rapidamente. Cont… Internet • É o maior sistema distribuído do mundo. Qualquer usuário se sente como um sistema único, mesmo sendo composto por milhões de computadores. • Usando o conceito de abstracção, você não tem ideia de onde os dados estão armazenados, quantos servidores estão envolvidos ou como as informações chegam ao navegador. O navegador dissolve a complexidade da Internet. • Isso também se aplica a aplicativos como o email do Gmail ou qualquer outro aplicativo utilizável. Todas as pessoas interagem diariamente com aplicativos distribuídos. Vantagens Vantagem • Mais nós podem ser facilmente adicionados ao sistema distribuído, ou seja, podem ser redimensionados conforme necessário. • Todos os nós no sistema distribuído estão conectados um ao outro. Portanto, cada um dos nós pode facilmente compartilhar dados com os outros nós. • Recursos como impressoras podem ser compartilhados com vários nós, em vez de serem restritos a um. • A falha de um nó não leva à falha de todo o sistema distribuído. Os outros nós ainda podem se comunicar. Desvantagens 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 protegidos. • 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 a sistemas distribuídos é bastante complicado e difícil de gerenciar em comparação com um sistema de usuário único. Sistema Operativo Servidor
Sistema Operativo Servidor
Sistema Operativo Servidor - é um sistema dentro de um computador que serve para administrar ou controlar outros computadores de todas as corporações que têm esse sistema. Por outras palavras, é um programa intermediário entre o utilizador e o hardware. Exemplos de alguns sistemas operativos servidores • O sistema operativo servidor é o primeiro programa que a máquina executa no momento em que é ligada, e a partir de então, não deixa de funcionar até que o computador seja desligado. Cont… No entanto, um sistema operativo servidor tem como objectivos: • Executar programas do utilizador e tornar mais fácil a resolução de problemas; • Tornar mais fácil, o uso da máquina; • Utilizar o hardware do computador de uma forma eficiente. • Existem vários sistemas operativos servidores, nomeadamente: • O Windows, o Linux, o Mac OS, o Solaris, e muito mais. • Neste trabalho vamos abordar o sistema operativo servidor – Linux. Cont… O Linux foi criado por Linus Torvalds, no Departamento de Ciência da Computação da Universidade de Helsinki, na Finlândia. Foi desenvolvido com a ajuda de programadores de todo o mundo, como software livre. Existem várias distribuições do Linux, como: • Fedora; • OpenSUSE; • Mandriva. • Os requisitos mínimos de hardware do Linux são: • Um processador AMD64 ou Intel EMT-64. Cont… Os valores mínimos a seguir para o espaço em disco: • 32 MB para o directório; • 4 GB para o directório de instalação; • 2 GB para o directório; • 2 GB no directório inicial. Cont… Os valores mínimos a seguir para memória: • 12 GB; • 16 GB se estiver a usar a duplicação de dados; • Pelo menos 32 GB para servidores intensamente utilizados; • Se você planeja usar a replicação de nó sem a duplicação de dados, o sistema precisará de 32 GB de memória. A replicação de nó com duplicação de dados requer no mínimo 64 GB de memória. Parte prática