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

630
-1

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
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
630
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×