A maior rede de estudos do Brasil

Grátis
188 pág.
LIVRO_UNICO

Pré-visualização | Página 1 de 40

Sistemas 
Distribuídos
Caique Silva Pereira
© 2019 por Editora e Distribuidora Educacional S.A.
Todos os direitos reservados. Nenhuma parte desta publicação poderá ser reproduzida 
ou transmitida de qualquer modo ou por qualquer outro meio, eletrônico ou mecânico, 
incluindo fotocópia, gravação ou qualquer outro tipo de sistema de armazenamento 
e transmissão de informação, sem prévia autorização, por escrito, da Editora e 
Distribuidora Educacional S.A.
Presidente
Rodrigo Galindo
Vice-Presidente Acadêmico de Graduação e de Educação Básica
Mário Ghio Júnior
Conselho Acadêmico 
Ana Lucia Jankovic Barduchi
Danielly Nunes Andrade Noé
Grasiele Aparecida Lourenço
Isabel Cristina Chagas Barbin
Thatiane Cristina dos Santos de Carvalho Ribeiro
Revisão Técnica 
Marcio Aparecido Artero
Vanessa Cadan Scheffer
Editorial
Elmir Carvalho da Silva (Coordenador)
Renata Jéssica Galdino (Coordenadora) 
2019
Editora e Distribuidora Educacional S.A.
Avenida Paris, 675 – Parque Residencial João Piza
CEP: 86041-100 — Londrina — PR
e-mail: editora.educacional@kroton.com.br
Homepage: http://www.kroton.com.br/
Dados Internacionais de Catalogação na Publicação (CIP) 
 Pereira, Caique Silva
P436s Sistemas distribuídos / Caique Silva Pereira. – Londrina : 
 Editora e Distribuidora Educacional S.A., 2019.
 184 p.
 
 ISBN 978-85-522-1443-4
 
 1. Sistemas distribuídos. 2. Modelos de sistemas. 3. 
 Comunicação entre processos. I. Pereira, Caique Silva. 
 II. Título. 
 
CDD 620
Thamiris Mantovani CRB-8/9491
Sumário
Unidade 1
Conceitos e arquitetura de sistemas distribuídos ..................................7
Seção 1.1
Fundamentação de sistemas distribuídos ....................................8
Seção 1.2
Classificações dos sistemas computacionais ............................ 20
Seção 1.3
Conceitos de sistemas distribuídos .......................................... 31
Unidade 2
Objetivos, desafios e modelos de sistemas distribuídos .................... 47
Seção 2.1
Objetivos dos Sistemas Distribuídos ......................................... 49
Seção 2.2
Aspectos de projeto dos Sistemas Distribuídos ....................... 64
Seção 2.3
Clientes e Servidores ................................................................... 77
Unidade 3
Virtualização e Conteinerização ........................................................... 95
Seção 3.1
Virtualização ............................................................................... 96
Seção 3.2
Conteinerização .........................................................................110
Seção 3.3
Simulando sistemas distribuídos com Docker .....................122
Unidade 4
Aplicações de sistemas distribuídos e segurança .............................141
Seção 4.1
Segurança em sistemas distribuídos .......................................143
Seção 4.2
Utilizando sockets com Java .....................................................156
Seção 4.3
Utilizando RPC com Java .........................................................169
Palavras do autor
Caro estudante, seja bem-vindo aos estudos dos sistemas distribuídos! Atualmente, com a expansão e disseminação da Internet, ao falarmos em “sistemas distribuídos” para um profissional de TI, ele já imagina 
redes de computadores, conexões, computação em nuvem, entre vários outros 
termos da área, que remetem à ideia do tema. Diversas aplicações atuais fazem 
uso do conceito de sistema distribuído, incluindo jogos multiplayer online, 
sistemas de transações financeiras, motores de busca utilizados por sites de 
pesquisa e a própria Internet. Diante desse universo, é imprescindível que você, 
profissional de tecnologia, compreenda tais sistemas, se apropriando dos seus 
diversos componentes, que possibilitam criar sistemas robustos e resistentes a 
falhas e que serão utilizados nas mais variadas aplicações modernas.
Como ocorre em toda implantação de um sistema ou aplicação, temos 
objetivos bem definidos a serem alcançados e desafios a serem superados. 
Além disso, devemos identificar o melhor modelo a ser adotado, de acordo 
com a aplicação desenvolvida. Atualmente, a maioria dos sistemas são imple-
mentados em plataformas virtuais com tecnologias de software que fornecem 
contêineres – plataformas virtuais otimizadas para gerenciar aplicações 
de maneira otimizada –, que geralmente são disponibilizadas em serviços 
de cloud (nuvem), razão pela qual a segurança desses sistemas é um ponto 
crítico: saber identificar as principais ameaças e os tipos de ataque é funda-
mental para a implantação de um sistema seguro.
Esse livro didático está dividido em quatro unidades da seguinte forma:
• Na Unidade 1, veremos os conceitos fundamentais e arquiteturas de 
sistemas distribuídos, assim como definições e exemplos do dia a dia.
• Na Unidade 2, serão definidos os objetivos principais, tais como 
compartilhamento de recursos, confiabilidade, desempenho e alta 
performance, os desafios mais recorrentes e seus aspectos de projeto.
• Na Unidade 3, veremos como esses sistemas distribuídos podem ser 
implantados por meio de tecnologias de virtualização e conteineri-
zação, mais especificamente o Docker, incluindo o procedimento de 
instalação e utilização dos principais comandos.
• Na Unidade 4, veremos alguns aspectos de segurança, como as 
principais vulnerabilidades encontradas em sistemas distribuídos e, 
após a análise de segurança, podemos finalmente avançar para utili-
zação de tecnologias que permitem uma integração mais sólida entre 
os nós da rede, como o RPC, e seus diferentes mecanismos de imple-
mentação, como o JRMI.
Agora, chegou a hora de arregaçarmos as mangas e seguirmos em frente com 
o estudo dos sistemas distribuídos, o que lhe proporcionará um leque de oportu-
nidades no mercado de trabalho, assim como conhecimentos importantes em 
relação a tecnologias atuais. Importante frisar que todas essas possibilidades 
dependem, em grande parte, de seu empenho e dedicação aos estudos.
Unidade 1
Conceitos e arquitetura de sistemas distribuídos
Convite ao estudo
Você sabia que entender os conceitos de sistemas distribuídos é de 
extrema importância atualmente? Grande parte das aplicações mais populares 
utilizam esse modelo, em que várias máquinas são interligadas por meio de 
redes de computadores. Você já parou para pensar como os sistemas compu-
tacionais evoluíram até os dias atuais? Nesta unidade, vamos compreender 
essa evolução, passando por todas as suas etapas até chegar nos sistemas 
distribuídos. Você sabe classificar os diferentes sistemas computacionais e 
distinguir suas características? Após completar esta Unidade, você será capaz 
de realizar essa tarefa, utilizando seu raciocínio crítico e criatividade para 
resolução dos problemas propostos.
É fato que a demanda por profissionais com conhecimento em implan-
tação de sistemas distribuídos tem aumentado principalmente em consul-
torias de TI que prestam serviços especializados para seus clientes nos mais 
diversos segmentos. Você iniciou seu estágio em uma dessas consultorias e, 
após o período de integração na empresa, sua primeira atividade externa será 
avaliar os ativos de TI de um cliente dessa consultoria. Será possível ganhar 
a confiança do cliente com seus conhecimentos sobre sistemas distribuídos? 
Iniciaremos agora os estudos sobre os sistemas distribuídos, o que 
lhe proporcionará um leque de oportunidades no mercado de trabalho, 
assim como conhecimentos importantes em relação a tecnologias atuais. 
Importante frisar que quanto mais você se dedicar, mais poderá aproveitar os 
ensinamentos transmitidos neste material.
8 - U1 / Conceitos e arquitetura de sistemas distribuídos
Seção 1.1
Fundamentação de sistemas distribuídos
Diálogo aberto
Caro estudante, iniciamos agora nossa primeira seção no estudo de 
sistemas distribuídos. Você já ouviu falar de um jogo chamado Smite?