11. clássica
“Um sistema distribuído é aquele no qual
componentes localizados em
computadores interligados em rede se
comunicam e coordenam suas ações
apenas passando mensagens”
1988 - Coulouris, Dollimore, Kindberg
11Friday, June 14, 13
13. “Um sistema distribuído é aquele onde
uma falha em um computador que você
nunca imaginou que existisse te impede
de usar seu próprio computador.”
Leslie Lamport
13Friday, June 14, 13
14. Princípio da Robustez
“Seja conservador
no que você faz,
seja liberal com o
que aceita dos
outros.”
Jon Postel
14Friday, June 14, 13
15. A rede é confiável
A latência é zero
A banda é infinita
A rede é segura
Topologias não mudam
Existe um administrador
Custo de transporte é zero
A rede é homogênea
8
Falácias da
Computação
Distribuída
Peter Deutsch
1994
15Friday, June 14, 13
16. • Sistemas distribuídos não são
novidade!
• Ainda assim, todo mundo desliza
na hora H
• “Aqueles que desconhecem o
passado estão fadados à repetí-lo.”
recapitulando
16Friday, June 14, 13
30. • Componentização e
independência das partes
• Construção por composição
• Emerge da necessidade, não de
desenho prévio
recapitulando
30Friday, June 14, 13
36. for tag in tags:
processe_tag(tag)
API Cliente
{
“titulo”: “Distribuindo Sistemas”,
“tags”: [“sistemas”, “diversão”],
“nota”: 6
}
36Friday, June 14, 13
41. • complicado propagar custo de
manutenção para clientes
• client-first - a exemplo da web
• causo: application/xhtml+xml
versus text/html para servir
XHTML 1.0
41Friday, June 14, 13
46. Cache não é só para
performance
46Friday, June 14, 13
47. • independência entre cliente e
servidor
• cópias locais podem introduzir
inconsistências, mas adicionam
resiliência
• invalidar cache é insano, deixe
expirar
47Friday, June 14, 13
57. • considere sempre caso em que a
rede falha
• considere sempre que as
mensagens vão crescer de tamanho
• não faça requisições em série
57Friday, June 14, 13