1) O documento apresenta uma palestra sobre construção de sistemas distribuídos usando arquitetura REST.
2) REST foi escolhido por permitir escalabilidade, performance alta, disponibilidade e evolução do sistema sem paradas. HTTP, caches e outros recursos da web foram fatores importantes.
3) A arquitetura REST implementada no sistema Alexandria da Abril usa recursos, representações e hipermídia para integrar domínios, serviços e dados de forma uniforme e escalável.
7. “organizações que projetam sistemas
são restritas a produzir projetos que
são cópias das estruturas de
comunicação dessas organizações”
Lei de
Conway
http://www.melconway.com/Home/Conways_Law.html
31. domínio
● acesso e manipulação de recursos
● implementa regras de negócio
● servidor HTTP + base de dados
● infra “isolada”
● ~ 8 domínios
● ex: editorial (matérias, galerias, etc), anotações
(comentários), estabelecimentos, mídia, pessoas
32. serviço
● consumo e manipulação de recursos
● servidor HTTP + (opcional base de dados)
● infra “isolada”
● ~ 12 serviços
● ex: console, socialcore, search, Abril ID, abr.io, etc
44. Por que escolhemos REST?
● Protocolo de transferência amplamente
utilizado
● Escalabilidade
● Performance alta
● Alta disponibilidade
● Permitir evolução sem parar o sistema
● Permitir evolução sem quebrar os clientes
● Segurança
45. Por que escolhemos REST?
● HTTP
● Escalabilidade
● Performance alta
● Alta disponibilidade
● Permitir evolução sem parar o sistema
● Permitir evolução sem quebrar os clientes
● Segurança
46. Por que escolhemos REST?
● HTTP
● Web Cache
● Performance alta
● Alta disponibilidade
● Permitir evolução sem parar o sistema
● Permitir evolução sem quebrar os clientes
● Segurança
47. Por que escolhemos REST?
● HTTP
● Web Cache
● Web Proxy (localização geografica)
● Alta disponibilidade
● Permitir evolução sem parar o sistema
● Permitir evolução sem quebrar os clientes
● Segurança
48. Por que escolhemos REST?
● HTTP
● Web Cache
● Web Proxy (localização geografica)
● Load Balancers "comoditizados"
● Permitir evolução sem parar o sistema
● Permitir evolução sem quebrar os clientes
● Segurança
49. Por que escolhemos REST?
● HTTP
● Web Cache
● Web Proxy (localização geografica)
● Load Balancers "comoditizados"
● Load Balancers
● Permitir evolução sem quebrar os clientes
● Segurança
50. Por que escolhemos REST?
● HTTP
● Web Cache
● Web Proxy (localização geografica)
● Load Balancers "comoditizados"
● Load Balancers
● HTML, JSON, XML
● Segurança
51. Por que escolhemos REST?
● HTTP
● Web Cache
● Web Proxy (localização geografica)
● Load Balancers "comoditizados"
● Load Balancers
● HTML, JSON, XML
● HTTPS / TLS
76. pontos importantes em performance
client
origin server
● performance dos connectors
● non-blocking HTTP clients
● cache local
● middleware architecture
● libs padronizadas
● short stacks
● evented servers
● libs padronizadas
● good TTL strategy
● middleware architecture
● caches
● HTTP plumbing
77. ● Lei de Postel
"Seja conservador no que faz, seja liberal no que você
aceita dos outros"
●
78. ● Lei de Postel
"Seja conservador no que faz, seja liberal no que você
aceita dos outros"
● REST é uma arquitetura de longo prazo
●
79. ● Lei de Postel
"Seja conservador no que faz, seja liberal no que você
aceita dos outros"
● REST é uma arquitetura de longo prazo
● Defenda com todas as suas forças:
● seus metadados (recursos)
● sua interface
●
80. ● Lei de Postel
"Seja conservador no que faz, seja liberal no que você
aceita dos outros"
● REST é uma arquitetura de longo prazo
● Defenda com todas as suas forças:
● seus metadados (recursos)
● sua interface
● Documentação é essencial
●
81. ● Lei de Postel
"Seja conservador no que faz, seja liberal no que você
aceita dos outros"
● REST é uma arquitetura de longo prazo
● Defenda com todas as suas forças:
● seus metadados (recursos)
● sua interface
● Documentação é essencial
● Independência de desenvolvimento dos nós tem suas
desvantagens
●
82. ● Lei de Postel
"Seja conservador no que faz, seja liberal no que você
aceita dos outros"
● REST é uma arquitetura de longo prazo
● Defenda com todas as suas forças:
● seus metadados (recursos)
● sua interface
● Documentação é essencial
● Independência de desenvolvimento dos nós tem suas
desvantagens
● Medir/monitorar o desempenho é importantíssimo