SlideShare a Scribd company logo
1 of 25
Batch, Spring, Performance e
outras coisas mais…
TDC SP 2017
Firme e forte na amizade
Diogo Souza
 Java Dev no PagSeguro
 Aficionado por clean code
 Sim, gosta duma praia arretada!
Blz?
“
Como reduzimos o tempo de execução
de um batch de 3:30h para 5 min?
O dito cujo…
 Desafios
 Inovação
 Negócio
 Backoffice
 Crescimento
Os “x”
crescimento
performance
resiliência
escalabilidade
flexibilidade
As dores…
Legado
 Solução própria de batch
 Libs e técnicas obsoletas
 Pensado para funcionar!
Tecnologia
Nunca subestime o poder de
uma tecnologia (e de sua
documentação)!
Custo
 Alto risco em alterações
 Manutenção difícil
 Alto acoplamento
O “bicho reclamão”
É de autonomia que estamos falando…
💃
Qual stack?
3:30h
1
Let’s Spring it!
3:30h
2
“n” linhas (milhões)
/dia
R
E
A
D
P
R
O
C
E
S
S
W
R
I
T
E
B
D
B
D
B
D
B
D
B
D
“n” linhas (milhões)
/dia
R
E
A
D
P
R
O
C
E
S
S
W
R
I
T
EB
D
a la “chunks”
20mil
Remova os excessos.
Simplifique.
1:33h
3
 Tabelas/Proc’s
 Códigos mortos/redundantes
 Libs e configs não usadas ou
obsoletas
 @Deprecated’s
🔌
Qual o momento certo de cada operação?
Seja amigo do seu
banco.
45m
4
 Persistir agora ou não?
 Tudo via entity mesmo?
 Queries otimizadas…
 Cache + pagination!
 Não esqueça o AD.
“
The amount to increment by when allocating
sequence numbers from the sequence
A arte do allocationSize
hibernate.jdbc.fetch_size
hibernate.jdbc.batch_size
vs
Mission complete!
5 min e 43 segundos
Monitore5
 RAM, CPU, etc.
 Onde estão os gargalos?
 JConsole, VisualVM, Probes
Que mais?
Spring XD Spring Integration
Onde me achar?
◉ @diogosouzac
◉ diogosouza.com.br
Vlew!

More Related Content

Similar to Batch, Spring, Performance e outras coisas mais...

Aspectos profissionais 3pontos
Aspectos profissionais 3pontosAspectos profissionais 3pontos
Aspectos profissionais 3pontosMiguel Alho
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Diego Pacheco
 
Agile br2011 lucabastos-prog10x
Agile br2011 lucabastos-prog10xAgile br2011 lucabastos-prog10x
Agile br2011 lucabastos-prog10xLuca Bastos
 
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Taller Negócio Digitais
 
curso-228532-aula-10-20e2-completo 1..pdf
curso-228532-aula-10-20e2-completo  1..pdfcurso-228532-aula-10-20e2-completo  1..pdf
curso-228532-aula-10-20e2-completo 1..pdfkassiocarlos
 
Do legado ao DDD
Do legado ao DDDDo legado ao DDD
Do legado ao DDDLeonn Leite
 
Mitos do Desenvolvimento de Software
Mitos do Desenvolvimento de SoftwareMitos do Desenvolvimento de Software
Mitos do Desenvolvimento de Softwareguest2f8cba
 
Como transformar suas ideias em PROJETOS
Como transformar suas ideias em PROJETOSComo transformar suas ideias em PROJETOS
Como transformar suas ideias em PROJETOSDaniel de Carvalho Luz
 

Similar to Batch, Spring, Performance e outras coisas mais... (14)

Métodos ágeis
Métodos ágeisMétodos ágeis
Métodos ágeis
 
BDD em Ação - Testadores 2015
BDD em Ação - Testadores 2015BDD em Ação - Testadores 2015
BDD em Ação - Testadores 2015
 
Cs 2
Cs 2Cs 2
Cs 2
 
Aspectos profissionais 3pontos
Aspectos profissionais 3pontosAspectos profissionais 3pontos
Aspectos profissionais 3pontos
 
Pep 8
Pep 8Pep 8
Pep 8
 
Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0Vivenciando dev ops para além da automação de infraestrutura 2.0
Vivenciando dev ops para além da automação de infraestrutura 2.0
 
Agile br2011 lucabastos-prog10x
Agile br2011 lucabastos-prog10xAgile br2011 lucabastos-prog10x
Agile br2011 lucabastos-prog10x
 
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
 
Metodos ageis thinkingdifferent
Metodos ageis thinkingdifferentMetodos ageis thinkingdifferent
Metodos ageis thinkingdifferent
 
curso-228532-aula-10-20e2-completo 1..pdf
curso-228532-aula-10-20e2-completo  1..pdfcurso-228532-aula-10-20e2-completo  1..pdf
curso-228532-aula-10-20e2-completo 1..pdf
 
Do legado ao DDD
Do legado ao DDDDo legado ao DDD
Do legado ao DDD
 
Mitos do Desenvolvimento de Software
Mitos do Desenvolvimento de SoftwareMitos do Desenvolvimento de Software
Mitos do Desenvolvimento de Software
 
Como transformar suas ideias em PROJETOS
Como transformar suas ideias em PROJETOSComo transformar suas ideias em PROJETOS
Como transformar suas ideias em PROJETOS
 
Test-driven Development
Test-driven DevelopmentTest-driven Development
Test-driven Development
 

More from Diogo Souza

GraalVM: Harder, Better, Faster, Stronger
GraalVM: Harder, Better, Faster, StrongerGraalVM: Harder, Better, Faster, Stronger
GraalVM: Harder, Better, Faster, StrongerDiogo Souza
 
Desenvolvimento Web: Por que Java?
Desenvolvimento Web: Por que Java?Desenvolvimento Web: Por que Java?
Desenvolvimento Web: Por que Java?Diogo Souza
 
Envers + Seam + JBoss: Why to use?
Envers + Seam + JBoss: Why to use?Envers + Seam + JBoss: Why to use?
Envers + Seam + JBoss: Why to use?Diogo Souza
 
Android: Por que usar? Como desenvolver?
Android: Por que usar? Como desenvolver?Android: Por que usar? Como desenvolver?
Android: Por que usar? Como desenvolver?Diogo Souza
 
Java, android e o mercado de ti
Java, android e o mercado de tiJava, android e o mercado de ti
Java, android e o mercado de tiDiogo Souza
 
Simples pelo simples google android com robo guice
Simples pelo simples   google android com robo guiceSimples pelo simples   google android com robo guice
Simples pelo simples google android com robo guiceDiogo Souza
 

More from Diogo Souza (6)

GraalVM: Harder, Better, Faster, Stronger
GraalVM: Harder, Better, Faster, StrongerGraalVM: Harder, Better, Faster, Stronger
GraalVM: Harder, Better, Faster, Stronger
 
Desenvolvimento Web: Por que Java?
Desenvolvimento Web: Por que Java?Desenvolvimento Web: Por que Java?
Desenvolvimento Web: Por que Java?
 
Envers + Seam + JBoss: Why to use?
Envers + Seam + JBoss: Why to use?Envers + Seam + JBoss: Why to use?
Envers + Seam + JBoss: Why to use?
 
Android: Por que usar? Como desenvolver?
Android: Por que usar? Como desenvolver?Android: Por que usar? Como desenvolver?
Android: Por que usar? Como desenvolver?
 
Java, android e o mercado de ti
Java, android e o mercado de tiJava, android e o mercado de ti
Java, android e o mercado de ti
 
Simples pelo simples google android com robo guice
Simples pelo simples   google android com robo guiceSimples pelo simples   google android com robo guice
Simples pelo simples google android com robo guice
 

Batch, Spring, Performance e outras coisas mais...