Baixe o app para aproveitar ainda mais
Prévia do material em texto
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Arquitetura Centralizadas de Sistemas Distribuídos Prof. Marcus Fábio Fontenelle, M.Sc. Mestre em Informática Aplicada LPIC-1, NCLA, MCSE Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Cliente-Servidor • Pensar em termos de clientes que requisitam serviços de servidores ajuda a entender e gerenciar a complexidade de sistemas distribuídos. • No modelo cliente servidor básico, processos em um sistema distribuído são divididos em dois grupos, com possível sobreposição: Servidor: Processo que implementa um serviço específico Cliente: Processo que requisita um serviço de um servidor, enviando-lhe uma mensagem requisição e, na sequência, esperando pela resposta. • Quando um cliente envia uma requisição para uma operação ser realizada, diz-se que o cliente invocou uma operação. • A operação completa entre um cliente e um servidor é chamada invocação remota. 2 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Cliente-Servidor 3 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Cliente-Servidor • Que tipo de comunicação usar? Não orientado a conexão (não confiável) Orientado a conexão (confiável) • Não orientado a conexão Eficiente Não há garanta de entrega (mensagem falhou ou se perdeu?) Se a operação pode ser repetida várias vezes, diz-se que ela é idempotente. • Orientado a conexão Há a garantia da entrega O servidor usa a mesma conexão para enviar e receber as mensagens. Estabelecer e encerrar uma conexão custa caro. 4 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Camada de Aplicação • Uma das questões principais é como estabelecer uma distinção clara entre cliente e servidor. Frequentemente não há nenhuma distinção. • Divididas em 3 níveis: 1. Nível de Interface de Usuário Contém tudo o que é necessário para fazer interface com o usuário. Em geral é implementado pelos clientes. 2. Nível de Processamento Contém as aplicações. Age sobre um banco de dados ou sistema de arquivos. 3. Nível de Dados Gerencia os dados propriamente ditos. Em geral é implementado pelos servidores. Os dados costumam ser persistentes. Responsável por manter os dados consistentes. Os dados são organizados de forma independente das aplicações. 5 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Camada de Aplicação – Mecanismo de Busca 6 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Arquitetura Multidivididas • Uma abordagem para organizar clientes e servidores é distribuir os programas presentes nas camadas de aplicação por máquinas diferentes. Arquitetura de duas divisões (físicas) Arquitetura de três divisões 7 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos Arquitetura Multidivididas 8 Prof. Marcus Fábio, M.Sc Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 9 Referências Bibliográficas • Sistemas Distribuídos – Princípios e Paradigmas, Andrew Tanenbaum, 2ª Edição – Seção 2.2.1 • Biblioteca Virtual Estácio
Compartilhar