Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Trilha – ScalaRodrigo Silva Rahman de Almeida           Arquiteto JAVA        www.jfive.com.br/blog    rodrigo.almeida@jfi...
Agenda Problema a ser solucionado; Solução; AKKA; Arquitetura; Dados Interessantes.                               Globalco...
Problema a ser solucionado    Vou para   Porto Seguro!                                                  Nenhum pacote     ...
Problema a ser solucionado            Desisto, não vou mais viajar !                                             Globalcod...
Solução para o Problema Fazer uma consulta mais inteligente   Fazer uma busca por cidade e não mais por destino   turistic...
Problemas Tempo de resposta para uma consulta de um destino base 50 segundos. Consultando por cidade teremos em média 30 d...
Problemas            Tempo final 50 x 30 = 1500 (25 min)                                                  Globalcode – Ope...
Solução A solução para executar essa consulta em um tempo viavel   Tunning nas querys   Paralelismo                       ...
Solução          Globalcode – Open4education
Problemas dessa solução Threads   Controle de locks   Alta Complexidade   Alto Risco Solução seria encontrar um framework ...
AKKA 2.0 Framework 100% escala Utiliza o conceito de atores da programação funcional Vários algoritimos de distribuição de...
Arquitetura Cache Paralelismo               Globalcode – Open4education
Arquitetura Cache     Site                                    MongoDB                          Cache             Consulta ...
Arquitetura DB                                  Destinos   Datas                Site                                      ...
ArquiteturaProcurando o pacote que mais se   adequa ao seu orçamento                              Servidor                ...
Arquitetura Proximo Cliente que buscar para a mesma cidade   Trará o resultado em aproximadamente 200 ms   Com uma quantid...
ResultadoBusca muito mais rápida   Resultado Pacotes   Aumento de venda                                              Globa...
Resultado       Cliente                 Chefe                         Globalcode – Open4education
Resultado        Você   Salário                    Globalcode – Open4education
Dados Interessantes Antes nossa consulta demorava em média 50 segundos para um destino Atualmente essa consulta demora 18 ...
Dúvidas          Globalcode – Open4education
Upcoming SlideShare
Loading in …5
×

Akka 2.0 + MongoDB - Caso de sucesso no Ecommerce Turismo.

875 views

Published on

Uma explicação completa do problema, do porque foi utilizado o Akka, tunning e a melhoria do processo de busca para o ecommerce turismo.

Published in: Education
  • Be the first to comment

  • Be the first to like this

Akka 2.0 + MongoDB - Caso de sucesso no Ecommerce Turismo.

  1. 1. Trilha – ScalaRodrigo Silva Rahman de Almeida Arquiteto JAVA www.jfive.com.br/blog rodrigo.almeida@jfive.com.br Globalcode – Open4education
  2. 2. Agenda Problema a ser solucionado; Solução; AKKA; Arquitetura; Dados Interessantes. Globalcode – Open4education
  3. 3. Problema a ser solucionado Vou para Porto Seguro! Nenhum pacote encontrado nessa data.Usuário www.cvc.com.br 23/12/2012 Globalcode – Open4education
  4. 4. Problema a ser solucionado Desisto, não vou mais viajar ! Globalcode – Open4education
  5. 5. Solução para o Problema Fazer uma consulta mais inteligente Fazer uma busca por cidade e não mais por destino turistico Fazer com que essa busca procure datas de sugestões evitando assim não trazer nenhum resultado para o cliente Globalcode – Open4education
  6. 6. Problemas Tempo de resposta para uma consulta de um destino base 50 segundos. Consultando por cidade teremos em média 30 destinos diferentes Globalcode – Open4education
  7. 7. Problemas Tempo final 50 x 30 = 1500 (25 min) Globalcode – Open4education
  8. 8. Solução A solução para executar essa consulta em um tempo viavel Tunning nas querys Paralelismo Globalcode – Open4education
  9. 9. Solução Globalcode – Open4education
  10. 10. Problemas dessa solução Threads Controle de locks Alta Complexidade Alto Risco Solução seria encontrar um framework que abstraia essa complexidade e esse risco. Globalcode – Open4education
  11. 11. AKKA 2.0 Framework 100% escala Utiliza o conceito de atores da programação funcional Vários algoritimos de distribuição de mensagens disponíveis Abstrai a complexidade de utilização de threads e problemas de concorrência Pode ser utilizado em um ambiente 100% JAVA Globalcode – Open4education
  12. 12. Arquitetura Cache Paralelismo Globalcode – Open4education
  13. 13. Arquitetura Cache Site MongoDB Cache Consulta Dados Dispara a Consulta Não Encontrado Globalcode – Open4education
  14. 14. Arquitetura DB Destinos Datas Site Consulta DB Consulta 30’sMongoDB Cache MongoDB Globalcode – Open4education
  15. 15. ArquiteturaProcurando o pacote que mais se adequa ao seu orçamento Servidor Destinos Datas Consulta DB Consulta Globalcode – Open4education
  16. 16. Arquitetura Proximo Cliente que buscar para a mesma cidade Trará o resultado em aproximadamente 200 ms Com uma quantidade grande de opções de pacotes Globalcode – Open4education
  17. 17. ResultadoBusca muito mais rápida Resultado Pacotes Aumento de venda Globalcode – Open4education
  18. 18. Resultado Cliente Chefe Globalcode – Open4education
  19. 19. Resultado Você Salário Globalcode – Open4education
  20. 20. Dados Interessantes Antes nossa consulta demorava em média 50 segundos para um destino Atualmente essa consulta demora 18 segundos para 30 destinos Fizemos um teste de carga e conseguimos executar 2000 usuários simultaneos com uma variação de destino e data e a média de execução foi de 28 segundos. O uso da CPU ficou em 70% e as threads que o akka abriu chegou a um pico de 800 threads Globalcode – Open4education
  21. 21. Dúvidas Globalcode – Open4education

×