SlideShare une entreprise Scribd logo
1  sur  38
Manifesto Reativo
e-Commerce reativo
Igor Costa
@igorcost
a
#goreactiveBR
#devcommerce
As regras do jogo
MUDARAM
Ontem Hoje
Uma máquina Cluster de máquinas
Ontem Hoje
Uma máquina Cluster de máquinas
1 ou 2 cores Múltiplos cores
Ontem Hoje
Uma máquina Cluster de máquinas
1 ou 2 cores Múltiplos cores
Memória RAM muito cara Memória RAM barata
Ontem Hoje
Uma máquina Cluster de máquinas
1 ou 2 cores Múltiplos cores
Memória RAM muito cara Memória RAM barata
Armazenamento muito caro Armazenamento barato
Ontem Hoje
Uma máquina Cluster de máquinas
1 ou 2 cores Múltiplos cores
Memória RAM muito cara Memória RAM barata
Armazenamento muito caro Armazenamento barato
Rede muito lenta (segundos) Rede muito rápida
Ontem Hoje
Uma máquina Cluster de máquinas
1 ou 2 cores Múltiplos cores
Memória RAM muito cara Memória RAM barata
Armazenamento muito caro Armazenamento barato
Rede muito lenta (segundos) Rede muito rápida
Poucos usuários concorrentes Milhares de usuários concorrentes
Pequena quantidade de dados trafegados Grande volume de dados trafegados
No Brasil existe apenas
1% das lojas on-line
que atrai mais de mais
de 500 mil pageviews
mês.
**
** Fonte E-bit
E mais assustador é saber que essas lojas
100%
são monolíticas.
**
** Fonte Minha mesmo
Arquitetura hoje de uma loja on-line
Navegador Apache
WAR
Front da loja
Cálculo de frete
Controle de estoque
Controle de catálogo
Tomcat
Oracle
DB
MySQL
DB
http://microservices.io/patterns/monolithic.html
Que mudança é essa?
www.reactivemanifesto.org/pt-BR
Responsiva
Elástica
Resiliente
Dirigido a mensagem
Responsivo
"Responder rápido ou reagir apropiadamente"
Com ou sem céu de brigadeiro
Sob alta carga
Falhas graves
Resiliência precisa ser por
padrão
1. Isole as falhas
2. Comparametrize
3. Gerencias as falhas
localmente
4. Evite erros desastrosos
Resiliência requer uma arquitetura
Dirigida a
mensagem
Elástico
"Habilitado a mudanças rápidas, reduzir e expandir conforme necessário."
Fisicamente"Colocando mais máquinas no balancer."
Através de
Software"Aproveitando cores para crescimento exponencial."
Use
Assíncrono
Nunca
Nunca mesmo
Faça
isso.
Como ser
reativo?
Plataforma Reativa da Typesafe
● Framework web para devs Java e Scala
● 100% Assíncrono
● Não requer container
● Fácil integração com Kafka, Spark, Mesos
● entrega 50 Milhões de mensagens com apenas 1Gb memória
● Elástico e descentralizado
● Resiliente por padrão
● Funcional e Orientada a objetos
● Construtores assíncronos e imutáveis
● Composição por padrão
● Paralelismo e concorrência já habilitados
A computação
Distribuída é o novo Normal
Qual a melhor
maneira de
distribuir?
Amazon aprendeu
que APIs internas
ajudam
Qual a melhor
maneira de
escalar?
Apple descobriu
que 500.000 nódulos de
cassandra é melhor que um
SGBD tradicional
Qual a melhor
maneira de
atender a
demanda?
walmart* do Canadá redesenhou
sua arquitetura do zero.
E aumentou as vendas em 20%
diminuiu o tempo de
carregamento da página em -36%
http://www.slideshare.net/nuruncom/big-retail-goes-reactive-at-walmart
Mobile
Serviços Cloud, REST, Micro-serviços
NoSQL, Cassandra, Redis, CouchDB,
SolrCloud, VoltDB …. Um noSQL a cada semana!
Big Data
#goreactive
Obrigado!
Quer os slides?
convite
Painel
Big Data

Contenu connexe

En vedette

En vedette (9)

Flex Mobile
Flex MobileFlex Mobile
Flex Mobile
 
Flex Hero - Flashcamp Rio
Flex Hero - Flashcamp RioFlex Hero - Flashcamp Rio
Flex Hero - Flashcamp Rio
 
Flex 4 para desenvolvedores flash
Flex 4 para desenvolvedores flashFlex 4 para desenvolvedores flash
Flex 4 para desenvolvedores flash
 
Flex em dispositivos móveis
Flex em dispositivos móveisFlex em dispositivos móveis
Flex em dispositivos móveis
 
Empreendendo com soluções Adobe para plataforma RIA
Empreendendo com soluções Adobe para plataforma RIAEmpreendendo com soluções Adobe para plataforma RIA
Empreendendo com soluções Adobe para plataforma RIA
 
Palestra Blackberry University Tour
Palestra Blackberry University TourPalestra Blackberry University Tour
Palestra Blackberry University Tour
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Similaire à Devcommerce Manifesto Reativo

Boas Práticas em Aplicações Silverlight 2
Boas Práticas em Aplicações Silverlight 2Boas Práticas em Aplicações Silverlight 2
Boas Práticas em Aplicações Silverlight 2
sagostinho
 
Desenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveisDesenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveis
elliando dias
 
Replicacao Object Sistemas
Replicacao Object SistemasReplicacao Object Sistemas
Replicacao Object Sistemas
taniamaciel
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
PrinceGuru MS
 
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
MySQL Brasil
 

Similaire à Devcommerce Manifesto Reativo (20)

Qcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.jsQcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.js
 
FreeBsd com Alta Disponibilidade
FreeBsd com Alta DisponibilidadeFreeBsd com Alta Disponibilidade
FreeBsd com Alta Disponibilidade
 
Case Kinghost + Elasticsearch
Case Kinghost + ElasticsearchCase Kinghost + Elasticsearch
Case Kinghost + Elasticsearch
 
Boas Práticas em Aplicações Silverlight 2
Boas Práticas em Aplicações Silverlight 2Boas Práticas em Aplicações Silverlight 2
Boas Práticas em Aplicações Silverlight 2
 
Sobrevivendo a falhas com Azure Traffic Manager
Sobrevivendo a falhas com Azure Traffic ManagerSobrevivendo a falhas com Azure Traffic Manager
Sobrevivendo a falhas com Azure Traffic Manager
 
Desenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveisDesenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveis
 
Replicacao Object Sistemas
Replicacao Object SistemasReplicacao Object Sistemas
Replicacao Object Sistemas
 
Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3
 
Calypte Cache
Calypte CacheCalypte Cache
Calypte Cache
 
TDC2013 Escalando Aplicações Java com In Memory Datagrids
TDC2013 Escalando Aplicações Java com In Memory DatagridsTDC2013 Escalando Aplicações Java com In Memory Datagrids
TDC2013 Escalando Aplicações Java com In Memory Datagrids
 
PHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta PerformancePHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta Performance
 
Alta Concorrência com Postgres
Alta Concorrência com PostgresAlta Concorrência com Postgres
Alta Concorrência com Postgres
 
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBRAvaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
Avaliando o Apache Cassandra como cache distribuido no SPC Brasil - NoSQLBR
 
Xen e CoreOS: solução para data mining com NodeJS e ElasticSearch
Xen e CoreOS: solução para data mining com NodeJS e ElasticSearchXen e CoreOS: solução para data mining com NodeJS e ElasticSearch
Xen e CoreOS: solução para data mining com NodeJS e ElasticSearch
 
MySQL - the database
MySQL - the databaseMySQL - the database
MySQL - the database
 
QConSP 2012 - Construindo um avião em pleno vôo na nuvem
QConSP 2012 - Construindo um avião em pleno vôo na nuvem QConSP 2012 - Construindo um avião em pleno vôo na nuvem
QConSP 2012 - Construindo um avião em pleno vôo na nuvem
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 
ExpressoBR para Um Milhão (de Usuários)
ExpressoBR para Um Milhão (de Usuários)ExpressoBR para Um Milhão (de Usuários)
ExpressoBR para Um Milhão (de Usuários)
 
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 

Dernier

Dernier (8)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

Devcommerce Manifesto Reativo