Prof-Calebe / livro-sistemas-distribuidos

E-Book de Sistemas Distribuído desenvolvido nas disciplinas de Computação e Sistemas Distribuídos
MIT License
0 stars 31 forks source link

Arquiteturas #3

Open marappoli opened 3 months ago

marappoli commented 3 months ago

Arquitetura Cliente-Servidor

É um modelo fundamental em sistemas distribuídos, onde as responsabilidades são divididas entre duas categorias de entidades: os clientes e os servidores.

Clientes

Servidores

Comunicação Cliente-Servidor

Vantagens

Limitações

Sistemas Peer-to-Peer (P2P)

Conceito de Peer-to-Peer

Em sistemas peer-to-peer, todos os nós (ou "peers") na rede têm capacidades e responsabilidades equivalentes. Não há um servidor central ou uma hierarquia fixa; em vez disso, cada nó pode atuar tanto como cliente quanto como servidor. Esses sistemas são caracterizados por sua descentralização, onde a gestão e distribuição dos recursos são realizadas coletivamente pelos próprios nós da rede.

Autonomia e Descentralização

A principal característica dos sistemas P2P é a descentralização. Cada nó na rede é independente e pode se comunicar diretamente com outros nós sem a necessidade de passar por um servidor central. Isso aumenta a robustez e a resiliência do sistema, pois a falha de um ou mais nós não compromete necessariamente toda a rede.

Arquitetura P2P

A arquitetura P2P pode variar desde modelos completamente descentralizados até modelos híbridos, onde existem alguns servidores centrais que facilitam a descoberta de peers ou a inicialização da comunicação. Em redes P2P puras, todos os nós têm a mesma função e podem se comunicar diretamente entre si. Já em redes P2P híbridas, há componentes adicionais que ajudam na organização e na eficiência da rede.

Distribuição e Compartilhamento de Recursos

Em sistemas P2P, os recursos, como arquivos, dados, ou capacidade de processamento, são distribuídos entre os nós da rede. Cada nó pode compartilhar seus próprios recursos e acessar recursos compartilhados por outros nós. Isso permite a construção de sistemas altamente escaláveis e eficientes na utilização de recursos, uma vez que a carga é distribuída de maneira equilibrada entre os nós.

Protocolos de Comunicação

A comunicação em redes P2P é geralmente baseada em protocolos específicos que permitem a descoberta de nós, a troca de mensagens e a transferência de dados. Alguns exemplos de protocolos P2P populares incluem BitTorrent, Gnutella e Kademlia. Esses protocolos garantem que os nós possam se encontrar e se comunicar de maneira eficiente, mesmo em redes dinâmicas e altamente distribuídas.

Aplicações de Sistemas P2P

Os sistemas P2P têm uma ampla gama de aplicações, incluindo compartilhamento de arquivos (e.g., BitTorrent), comunicação e mensagens (e.g., Skype), redes sociais descentralizadas, sistemas de armazenamento distribuído (e.g., IPFS), e computação distribuída (e.g., SETI@home). Eles são especialmente vantajosos em cenários onde a escalabilidade, a robustez e a ausência de um ponto único de falha são essenciais.

Vantagens dos Sistemas P2P

Limitações dos Sistemas P2P

Os sistemas P2P representam uma abordagem poderosa para a construção de redes distribuídas resilientes e escaláveis, oferecendo uma alternativa descentralizada aos modelos tradicionais cliente-servidor.

Sistemas Baseados em Agentes

Entidades autônomas chamadas Agentes interagem para alcançar objetivos comuns.

Conceito de Agentes

Autonomia dos Agentes

Comunicação entre Agentes

Tipos de Agentes

Aplicações

Úteis em cenários onde é necessário lidar com complexidade, incerteza e dinamicidade, pois permitem uma abordagem descentralizada e adaptativa para resolver problemas.