SlideShare uma empresa Scribd logo
1 de 21
Trilha – Scala
Rodrigo Silva Rahman de Almeida
           Arquiteto JAVA
        www.jfive.com.br/blog
    rodrigo.almeida@jfive.com.br

                                   Globalcode – Open4education
Agenda
 Problema a ser solucionado;
 Solução;
 AKKA;
 Arquitetura;
 Dados Interessantes.




                               Globalcode – Open4education
Problema a ser solucionado

    Vou para
   Porto Seguro!
                                                  Nenhum pacote
                                                 encontrado nessa
                                                       data.




Usuário            www.cvc.com.br   23/12/2012




                                                 Globalcode – Open4education
Problema a ser solucionado


            Desisto, não vou mais viajar !




                                             Globalcode – Open4education
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
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
Problemas

            Tempo final 50 x 30 = 1500 (25 min)




                                                  Globalcode – Open4education
Solução
 A solução para executar essa consulta em um
 tempo viavel
   Tunning nas querys
   Paralelismo




                                    Globalcode – Open4education
Solução




          Globalcode – Open4education
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
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
Arquitetura
 Cache
 Paralelismo




               Globalcode – Open4education
Arquitetura Cache
     Site
                                    MongoDB


                          Cache
             Consulta




                                                  Dados


     Dispara a Consulta
                            Não Encontrado


                                              Globalcode – Open4education
Arquitetura DB
                                  Destinos   Datas
                Site




                                                               Consulta DB
                       Consulta




         30’s




MongoDB Cache
                                                     MongoDB




                                                         Globalcode – Open4education
Arquitetura
Procurando o pacote que mais se
   adequa ao seu orçamento                              Servidor

                                             Destinos         Datas



                                                                      Consulta DB
                                  Consulta




                                                        Globalcode – Open4education
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
Resultado

Busca muito mais rápida   Resultado Pacotes   Aumento de venda




                                              Globalcode – Open4education
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 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
Dúvidas




          Globalcode – Open4education

Mais conteúdo relacionado

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

Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterGerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterEdlaine Zamora
 
Design de Software com ASP.NET MVC
Design de Software com ASP.NET MVCDesign de Software com ASP.NET MVC
Design de Software com ASP.NET MVCWaldyr Felix
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosFlávio Lisboa
 
Arquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App EngineArquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App EngineEder Magalhães
 
Tdc 2013 eric lemes - integracoes entre sistemas-2
Tdc 2013   eric lemes - integracoes entre sistemas-2Tdc 2013   eric lemes - integracoes entre sistemas-2
Tdc 2013 eric lemes - integracoes entre sistemas-2Eric Lemes
 
Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Paulo Cesar Ortins Brito
 
Cross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumCross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumMaximiliano Alves
 
Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF Otávio Santana
 
JSF 2 - Java "Super" Faces
JSF 2 - Java "Super" FacesJSF 2 - Java "Super" Faces
JSF 2 - Java "Super" FacesFilipe Portes
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...tdc-globalcode
 
TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#
TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#
TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#Diego Gabriel Cardoso
 
TDC 2012 - Métricas de código na arquitetura
TDC 2012 - Métricas de código na arquiteturaTDC 2012 - Métricas de código na arquitetura
TDC 2012 - Métricas de código na arquiteturaLeandro Daniel
 
Tdc2016 trilha-banco-influx.ppt
Tdc2016 trilha-banco-influx.pptTdc2016 trilha-banco-influx.ppt
Tdc2016 trilha-banco-influx.pptMarcos Artigas
 
InfluxDb: como monitorar milhares de dados por segundo em real time
InfluxDb: como monitorar milhares de dados por segundo em real time InfluxDb: como monitorar milhares de dados por segundo em real time
InfluxDb: como monitorar milhares de dados por segundo em real time Umbler
 
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...Vinicius Campos Silva
 
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e FerramentasWagner Roberto dos Santos
 
TDC2016SP - Trilha Banco de Dados
TDC2016SP - Trilha Banco de DadosTDC2016SP - Trilha Banco de Dados
TDC2016SP - Trilha Banco de Dadostdc-globalcode
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começouJose Wilker
 
Palestra TDC 2015 São Paulo - Mercado de trabalho para Elefantes
Palestra TDC 2015 São Paulo - Mercado de trabalho para ElefantesPalestra TDC 2015 São Paulo - Mercado de trabalho para Elefantes
Palestra TDC 2015 São Paulo - Mercado de trabalho para ElefantesRodrigo Wanderley de Melo Cardoso
 

Semelhante a Akka 2.0 + MongoDB - Caso de sucesso no Ecommerce Turismo. (20)

Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterGerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
 
Design de Software com ASP.NET MVC
Design de Software com ASP.NET MVCDesign de Software com ASP.NET MVC
Design de Software com ASP.NET MVC
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviços
 
Arquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App EngineArquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App Engine
 
Tdc 2013 eric lemes - integracoes entre sistemas-2
Tdc 2013   eric lemes - integracoes entre sistemas-2Tdc 2013   eric lemes - integracoes entre sistemas-2
Tdc 2013 eric lemes - integracoes entre sistemas-2
 
Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#
 
Cross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumCross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appium
 
Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF
 
JSF 2 - Java "Super" Faces
JSF 2 - Java "Super" FacesJSF 2 - Java "Super" Faces
JSF 2 - Java "Super" Faces
 
Php Experience 2016 - Mercado de Trabalho para Elefantes
Php Experience 2016 - Mercado de Trabalho para ElefantesPhp Experience 2016 - Mercado de Trabalho para Elefantes
Php Experience 2016 - Mercado de Trabalho para Elefantes
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
 
TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#
TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#
TDC SP 2017 Trilha .NET - TechWar: Threads, ThreadPools e Tasks em C#
 
TDC 2012 - Métricas de código na arquitetura
TDC 2012 - Métricas de código na arquiteturaTDC 2012 - Métricas de código na arquitetura
TDC 2012 - Métricas de código na arquitetura
 
Tdc2016 trilha-banco-influx.ppt
Tdc2016 trilha-banco-influx.pptTdc2016 trilha-banco-influx.ppt
Tdc2016 trilha-banco-influx.ppt
 
InfluxDb: como monitorar milhares de dados por segundo em real time
InfluxDb: como monitorar milhares de dados por segundo em real time InfluxDb: como monitorar milhares de dados por segundo em real time
InfluxDb: como monitorar milhares de dados por segundo em real time
 
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
 
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
 
TDC2016SP - Trilha Banco de Dados
TDC2016SP - Trilha Banco de DadosTDC2016SP - Trilha Banco de Dados
TDC2016SP - Trilha Banco de Dados
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começou
 
Palestra TDC 2015 São Paulo - Mercado de trabalho para Elefantes
Palestra TDC 2015 São Paulo - Mercado de trabalho para ElefantesPalestra TDC 2015 São Paulo - Mercado de trabalho para Elefantes
Palestra TDC 2015 São Paulo - Mercado de trabalho para Elefantes
 

Último

classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxLuciana Luciana
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...AnaAugustaLagesZuqui
 
QUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geralQUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geralAntonioVieira539017
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxAntonioVieira539017
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*Viviane Moreiras
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLidianePaulaValezi
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxLuizHenriquedeAlmeid6
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfAutonoma
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Cabiamar
 
Renascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRenascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRafaelaMartins72608
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPaulaYaraDaasPedro
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...azulassessoria9
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxJustinoTeixeira1
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docPauloHenriqueGarciaM
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptRogrioGonalves41
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 

Último (20)

classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptx
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
QUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geralQUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geral
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
Renascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRenascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDF
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 

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

  • 1. Trilha – Scala Rodrigo Silva Rahman de Almeida Arquiteto JAVA www.jfive.com.br/blog rodrigo.almeida@jfive.com.br Globalcode – Open4education
  • 2. Agenda Problema a ser solucionado; Solução; AKKA; Arquitetura; Dados Interessantes. Globalcode – Open4education
  • 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. Problema a ser solucionado Desisto, não vou mais viajar ! Globalcode – Open4education
  • 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. 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. Problemas Tempo final 50 x 30 = 1500 (25 min) Globalcode – Open4education
  • 8. Solução A solução para executar essa consulta em um tempo viavel Tunning nas querys Paralelismo Globalcode – Open4education
  • 9. Solução Globalcode – Open4education
  • 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. 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. Arquitetura Cache Paralelismo Globalcode – Open4education
  • 13. Arquitetura Cache Site MongoDB Cache Consulta Dados Dispara a Consulta Não Encontrado Globalcode – Open4education
  • 14. Arquitetura DB Destinos Datas Site Consulta DB Consulta 30’s MongoDB Cache MongoDB Globalcode – Open4education
  • 15. Arquitetura Procurando o pacote que mais se adequa ao seu orçamento Servidor Destinos Datas Consulta DB Consulta Globalcode – Open4education
  • 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. Resultado Busca muito mais rápida Resultado Pacotes Aumento de venda Globalcode – Open4education
  • 18. Resultado Cliente Chefe Globalcode – Open4education
  • 19. Resultado Você Salário Globalcode – Open4education
  • 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. Dúvidas Globalcode – Open4education