Sistemas distribuidos
O que são Sistemas Distribuídos
Sistemas onde os componentes de hardware ou software, localizados em computadores interligados em rede, se comunicam e coordenam ações apenas enviando mensagens entre si
Onde achar Sistemas Distribuídos
●
Internet
●
Intranet
●
Computadores móveis
●
Celulares
●
...
●
Computação ubíqua (pervasiva)
●
Utilização de vários dispositivos computacionais pequenos e baratos, ●
distribuídos em casas, escritórios, etc., junto ao usuário.
●
São tão entranhados que mal são notados.
Características encontradas em sistemas distribuídos
●
Concorrência
●
●
Inexistência de relógio global
●
●
execução concorrente de programas... programas que trocam mensagens para cooperar não tem o mesmo relógio...
Falhas independentes
●
sabendo que todos os sistemas de computadores podem falhar, devem-se pensar em tratar as possíveis falhas...
Desafios de SD
●
Heterogeneidade
●
Onde:
–
–
–
–
–
●
Redes
Hardware
Sistemas operacionais
Linguagens de programação
Implementações de diferentes desenvolvedores
Middleware
–
–
Camada de software que fornece uma abstração de programação Os protocolos de comunicação mascaram a diferença entre as redes e o middleware pode cuidas das outras diferenças
Desafios de SD
●
Sistemas abertos
●
●
●
…pode ser estendido e reimplementado de várias maneiras deve-se publicar a especificação e a documentação das principais interfaces de software a integração de componentes escritos por diferentes programadores é problemática
Desafios de SD
●
Segurança
●
●
●
É importante para qualquer usuário de um serviço
A criptografia é utilizada para fornecer a segurança entre as mensagens de computadores
Problemas comuns:
–
–
Ataque de negação de serviço
Ataque com código móvel
Desafios de SD
●
Escalabilidade
●
●
Um sistema escalável