Sistemas Distribuídos Em Redes
Artigo: Sistemas Distribuídos Em Redes. Pesquise 862.000+ trabalhos acadêmicosPor: fdorocinski • 2/3/2015 • 2.096 Palavras (9 Páginas) • 371 Visualizações
ARQUITETURA
Na arquitetura de um Sistema Distribuído, o uso da Rede é indispensável, já que, como base, um Sistema Distribuído funciona a partir da rede, da interconexão de várias estações de trabalho que formam o cluster, de forma transparente, sendo esta a principal diferença entre essas 2 tecnologias. Porém, os sistemas distribuídos são organizados de várias formas, entre elas estão a Arquitetura de Software e Arquitetura de Sistema. A primeira foca na organização logica do software, pensando na estruturação e funcionamento dos componentes. A última considera apenas o local onde os componentes estão nas máquinas.
Os SD’s trabalham com 5 estilos arquitetônicos, conhecidos como Arquitetura em Camadas, Arquitetura Baseada em Objetos, Arquitetura Central dos Dados e Arquitetura Baseada em Eventos. Tais estilos têm como principal fundamento a centralização e distribuição das tarefas, além da organização estrutural do funcionamento dos sistemas e máquinas que formam o SD.
Na Arquitetura em Camadas, o sistema funciona através de uma hierarquia de camadas, exemplificada por Camada N, Camada N-1, Camada 2 e Camada 1. Seguindo esta ordem, a Camada N faz a requisição que segue através da hierarquia, passando pelas camadas até o fim, e voltando na mesma ordem, sendo assim, requisições descem pela hierarquia e resultados fluem para cima. Portando, neste tipo de Arquitetura, a observação é que a Camada N tem a permissão para requisitar algo para a Camada N-1, porém, isso não acontece no inverso. Este tipo de Arquitetura é muito usada e vista em redes de computadores.
No modelo de Arquitetura Baseada em Objetos, uma das principais características é sua orientação a objetos de linguagem de programação, usando da programação dispersada, como CORBA e RMI. Cada objeto corresponde a um componente, e este componente é conectado em qualquer ponto da infraestrutura designada através de chamadas remotas, usando assim critérios baseados no modelo de conexão cliente-servidor. Cada objeto deste tipo de arquitetura trabalha usando um ‘link’ com as características que são comuns a todos, podendo também haver restrições para alguns objetos.
Muito utilizado para aplicações Web, devido ao uso da comunicação entre processos ser baseada em serviços de dados descentralizados, a Arquitetura Central dos Dados faz com que os objetos se comuniquem através dos repositórios comuns, sendo passivo ou ativo,trabalhando com um sistema de compartilhamento feito através da intra e interredes. Porém, devido ao estilo de comunicação ser centrado, se faz necessário um sistema de acesso mais simples, que siga um padrão e protocolos comuns a todos.
Através da Arquitetura Baseada em Eventos, os processos fazem a comunicação usando a propagação de eventos por componentes independentes, que usam barramento ou conector para fazer a transmissão. Eventualmente podem enviar dados acoplados de forma fracamente. Este tipo de arquitetura utiliza a forma de publicar/sobrescrever, onde os processos reconhecem que cada um terá a sua vez, reconhecendo que a operação em execução é uma única.
COMUNICAÇÃO
A comunicação entre processos, no caso da internet fornece tanto comunicação por datagrama como também por fluxo. AsAPIs para esses processos de comunicação são apresentados em Java, isso geram muitas discuções,por que seus modelos apresentam bastante falhas. Elas fornecem blocos de construção alternativos para os protocolos de comunicação, isso é complementado com analises dos protocolos para a representação de conjuntos de objetos de dados em mensagens e referências a objetos remotos. Juntos esses serviços oferecem suporte para construção de serviços de comunicação.
Esses processos de comunicações suportam ponto a ponto sendo útil para o envio de uma mensagem pelo remetente para um grupo de destinatários, também importante lembrar que a comunicação funciona em difusão seletiva (multicast). O multicast é um requisito importante para os aplicativos distribuídos e deve ser fornecido mesmo que o suporte subjacente para multicastip não esteja funcionando no momento, geralmente isso é fornecido por uma rede de sobreposição configurada sobre a rede TCP/IP subjacente, essas redes também podem oferecer suporte para compartilhamento de arquivos maior confiabilidade e distribuição de conteúdo.
PROTOCOLOS
Na comunicação de equipamentos em redes acontece entre entidades em sistemas diferentes. A entidade pode ser qualquer equipamento capaz de enviar e receber informação, no entanto duas entidades não podem enviar pacotes uma para a outra esperando que sejam compreendidas. Para que consiga obter êxito na comunicação, as mesmas devem definir um protocolo, que e um conjunto de regras que controlam as comunicações de dados. Um protocolo define o que e comunicado e como vai ser feita essa comunicação e quando deve ser feita, existem três elementos básicos de um protocolo a sintaxe,semântica e timing.
Sintaxe: Apresenta a estrutura ou o formato dos dados, mostrando a ordem a qual eles serão apresentados.
Semântica: Determina como cada padrão deve ser interpretado e qual ação deve ser tomada.
Timing: Determina quando os dados devem ser enviados e qual velocidade eles podem ser enviados.
Alguns protocolos utilizados em Sistemas Distribuídos:
IP: camada de rede - permite definir a unidade básica de transferência de dados e é responsável pelo encaminhamento de informações para chegar ao seu destino na rede.
TCP: camada de Transporte - permite dividir e classificar as informações a serem realizadas em pequenos pacotes para transmissão e recepção.
HTTP: camada de aplicação - permite transferir páginas de hipertexto entre clientes e servidores web.
SMTP: Simple Network Management Protocol - permite o envio de e-mail através da rede.
POP3: Post Office Protocol - permite o gerenciamento de mensagens, ou seja, uma estação de trabalho recupera os e-mails é armazena no servidor.
TOLERÂNCIA A FALHAS
Um sistema tolerante a falhas nada mais é que um sistema onde visa diminuir impactos de falhas sejam qualquer uma delas tanto em hardware ou software, é um item muito importante de qualquer sistema, ressaltando que é de suma importância que o mesmo seja construído com base nessa ideologia principalmente se esse for
...