arquiteturas

para

milhões de acessos

Antes de começar...

programador?

nuvem?

orientação a objetos

micro serviços?

controle de versão? github?

programador

orientação a objetos

nuvem

controle de versão

github

analista de requisitos

analista de negócio

micro serviços, api, rest, soap

backstage de um grande portal

conceitos

scalability

high availability

micro services

ALTA DISPONIBILIDADE

ESCALABILIDADE

MICRO Serviços

single point of failure

ponto único de falha

DIsaster recovery

DR

scalability

ESCALABILIDADE

DATABASE

scalability

ESCALABILIDADE

single point of failure

ponto único de falha

single point of failure

ponto único de falha

high availability

ALTA DISPONIBILIDADE

datacenter a

datacenter B

micro services

MICRO Serviços

micro services

MICRO Serviços

micro services

MICRO Serviços

DIsaster recovery

DR

 

a

 

B

 

DR

como seria uma arquitetura com todos esses conceitos?

escalável, altamente disponível, sem pontos únicos de falha e com DR 

escalável, altamente disponível, sem pontos únicos de falha 

e um dr para cada micro serviço

produtos

problemas

foco

o que o consumidor quer

primeira versão

o que o consumidor quer

A

segunda versão

o que o consumidor quer

B

primeira versão

o que o consumidor quer

A

outra abordagem

o que o consumidor quer?

um exemplo real

O.S.

O.S.

O.S.

então, nunca devo

refazer nada?

conteúdo, conteúdo,

e mais conteúdo.

panda

PENGUIN

HUMMINGBIRD

Tamanho  das paginas

da amazon

Como recuperar

tanta informação?

Micro services

lembra?

quantos serviços uma página da amazon.com chama por request?

150

+3.9 milhões de imóveis

90 milhões de fotos

15 mil clientes

3.3 bilhões de buscas solr/mês

1.6 milhões de leads/mês

10 milhões de visitas/mês

Como a gente gerencia tudo isso?

microservices

Estrutura nuvem VivaReal 

  • +240 EC2 instances

  • 10 VPCs

  • 298 SQS queues

  • 60 SNS topics

  • 16 RDS instances

  • 101 S3 buckets

  • 27 Elastic Beanstalk applications

testes, testes, e performance

java E falha nossa :@

bootstrap

20s

cache

cache tradicional

cache + ha

cdn

devops

e talvez a dica mais importante de todas

assíncrono.

assíncrono.

obrigado! _ :)

arquiteturas para milhões de acessos

Arquiteturas para milhões de acessos

By Roberto Marin

Arquiteturas para milhões de acessos

Arquiteturas Java para milhões de acessos Escalabilidade e resiliência são dois fatores críticos lembrados quando se pensa em arquiteturas para sites com grande volume de acesso. Ao mesmo tempo, desenvolver uma arquitetura exige muito conhecimento para identificar e sanar pontos críticos – e a habilidade de se utilizar ferramentas adequadas para cada problema. Nesta palestra conheceremos algumas arquiteturas Java utilizadas na nuvem, com base em exemplos de projetos reais reais e casos práticos. Veremos técnicas para identificar os gargalos de sua aplicação Java, e o uso do profiler gratuito VisualVM. São apresentados também parâmetros de otimização da JVM e exploradas modificações para diminuir o bootstrap de aplicações Java. Analisaremos, ainda, situações de onde e como aplicar cache de modo adequado. Tudo isso será discutido com base na experiência real da construção de portais com mais de 60 milhões de visitas por mês. Como bônus, discutimos o que foi aprendido com os erros cometidos na construção destas arquiteturas.

  • 1,517