SlideShare uma empresa Scribd logo
1 de 24
EXECUTANDO JOBS
BATCH NO K8S
DESAFIOS E LIÇÕES APRENDIDAS
AGENDA
O Desafio
Spring Batch 101
A Solução
TODOS e Melhorias
O DESAFIO
• ESTE VALOR É CALCULADO DE ACORDO COM REGRAS DE CADA BANDEIRA. E SÃO CONSIDERADOS
DIVERSOS ATRIBUTOS DA TRANSAÇÃO, TAIS COMO, TIPO DE ESTABELECIMENTO (MCC),
MODALIDADE DO CARTÃO, FORMA DE PAGAMENTO (PRESENCIAL, NÃO-PRESENCIAL), REGIÃO
(NACIONAL, INTERNACIONAL), ENTRE OUTROS CRITÉRIOS.
• PARA CADA TRANSAÇÃO REALIZADA COM CARTÕES DE CRÉDITO, DÉBITO OU PRÉ-PAGO, O
BANCO RECEBE DAS BANDEIRAS (VISA, MASTER, ELO, AMEX) UM PERCENTUAL DO VALOR DA
TRANSAÇÃO, DENOMINADO DE TAXA DE INTERCÂMBIO.
O DESAFIO
• HOJE, OS VALORES DE INTERCÂMBIO CALCULADOS PARA CADA TRANSAÇÃO CHEGAM POR MEIO
DE ARQUIVOS ENVIADOS PELAS BANDEIRAS NA BASE 2. CADA BANDEIRA POSSUI UM LAYOUT DE
ARQUIVO E REGRAS DE CÁLCULO DISTINTAS.
EX. A MASTER UTILIZA O PADRÃO ISO-8583, ENQUANTO A VISA E ELO, UTILIZAM UM PADRÃO
POSICIONAL FIXO DE 168 POSIÇÕES E TIPOS DE REGISTROS.
• EM UMA TRANSAÇÃO DE CARTÃO, EXISTE A BASE 1 (AUTORIZAÇÃO) E A BASE 2 (CONCILIAÇÃO),
QUE É UM ARQUIVO DIÁRIO CONTENDO O MOVIMENTO DO DIA ANTERIOR. O PROCESSAMENTO
DA BASE 2 É FEITO VIA BATCH.
Portador
(Consumidor)
Lojista
Adquirente
Credenciador
Bandeira
Emissor P-Taxa de Intercâmbio
Tarifa Tarifa
Paga (P) Paga (P-TD)
Transfere o valor
O DESAFIO
HOJE NÃO EXISTE NENHUM PROCESSO AUTOMATIZADO
QUE REALIZE A CONFERÊNCIA DO CÁLCULO DA TAXA DE
INTERCÂMBIO.
SIMPLESMENTE CONFIAMOS NO CÁLCULO
FEITO PELAS BANDEIRAS.
PROPOSTA DE SOLUÇÃO
CRONJOB + SPRING BATCH + K8S
PRAZO: 4 MESES (8 SPRINTS)
SPRING BATCH 101
“
”
PROCESSAMENTO BATCH, … É DEFINIDO COMO
O PROCESSAMENTO DE UMA QUANTIDADE
FINITA DE DADOS, SEM INTERAÇÃO OU
INTERRUPÇÃO
-- MICHAEL MINELLA
THE DEFINITIVE GUIDE TO SPRING BATCH
JOB
STEP
TASKLET VS CHUNK
VISÃO GERAL
BB-SIA
JobLauncher
JobRepository
Job Step
ItemReader
ItemProcessor
ItemWriter
Job
JobInstance
JobExecution
*
*
Job do Fechamento de Fatura
Job do Fechamento da Fatura de
Maio/2020
Primeira tentativa do Job do Fechamento
de Fatura de Maio/2020
JobParameters
mes.fatura = 05/2020
PRINCÍPIOS E ORIENTAÇÕES PARA UMA APLICAÇÃO
BATCH
• BATCH AFETA O ON-LINE E VICE-VERSA
• SIMPLIFICAR O MÁXIMO POSSÍVEL
• ARMAZENE SEUS DADOS ONDE OCORRE O PROCESSAMENTO
• MINIMIZE O USO DE RECURSOS, ESPCECIALMENTE DE I/O
• IMPLEMENTE CHECKSUMS PARA VALIDAÇÕES INTERNAS SEMPRE QUE POSSÍVEL
• PLANEJE E EXECUTES TESTES DE STRESS O MAIS CEDO POSSÍVEL (AMBIENTE E VOLUME DE PRODUÇÃO)
• MANTENHA UMA ROTINA DE BACKUP DOS ARQUIVOS/DADOS DE ENTRADA
ESTRATÉGIAS DE PROCESSAMENTOS BATCH
"AS REGRAS DE NEGÓCIO DEVEM SER DECOMPOSTAS EM UMA SÉRIE DE PASSOS QUE POSSAM SER
IMPLEMENTADOS COM OS SEGUINTES BLOCOS DE CONSTRUÇÃO PADRÃO"
• APLICAÇÕES DE:
• CONVERSÃO
• VALIDAÇÃO
• EXTRAÇÃO/FILTRAGEM
• EXTRAÇÃO/ATUALIZAÇÃO
• PROCESSAMENTO/ATUALIZAÇÃO
• TRANSFORMAÇÃO/FORMATAÇÃO
• STEPS UTILITÁRIOS:
• SORT
• SPLIT
• MERGE
APLICAÇÕES BATCH
PODEM SER
CATEGORIZADAS
PELA ORIGEM DE
ENTRADA DE DADOS
"Orientadas a Banco de Dados"
Origem dos dados são registros de um banco de
dados
"Orientadas a Arquivos"
Origem dos dados são registros de um arquivo
"Orientadas a Mensagens"
Origem dos dados são mensagens de uma
fila/tópico
ESTRATÉGIAS DE PROCESSAMENTOS BATCH
1. PROCESSAMENTO NORMAL NA JANELA BATCH (MODO OFF-LINE)
2. PROCESSAMENTO CONCORRENTE ENTRE BATCHES E ONLINE
3. PROCESSAMENTO PARALELO DE VÁRIOS JOBS DIFERENTES AO MESMO TEMPO
4. PARTICIONAMENTO (VÁRIAS INSTÂNCIAS DO MESMO JOB)
5. COMBINAÇÕES DAS OPÇÕES ANTERIORES
ESTRATÉGIAS DE
PARTICIONAMENTO
• QUEBRA FIXA E UNIFORME DE UM
CONJUNTO DE REGISTROS
• QUEBRA POR COLUNA DE CHAVE
• QUEBRA POR VIEWS
• ADIÇÃO DE INDICADOR DE
PROCESSAMENTO
• UNLOAD + SPLIT DE TABELA EM
ARQUIVOS
• UTILIZANDO UMA COLUNA DE HASH
NOVIDADES
DO SPRING
BATCH 4.2
• SUPORTE A MÉTRICAS COM O MICROMETER
• ITEMREADER E ITEMWRITER DO KAFKA
• ITEMREADER E ITEMWRITER DO AVRO
• ATUALIZAÇÃO DA DOCUMENTAÇÃO
VISÃO GERAL DA ARQUITETURA
CronJob
Master
EDI
Banco
Batch
Mainframe DB2
API REST
Elo
Visa
EDI
EDI
BB Cloud Dashboard
Master
BB-SIA
Elo
Visa
Reader Processor
DB
Writer
Cache
Spring Batch Job
Download
Step
REST
O JOB
Tasklet Chunklet
TODOS E MELHORIAS
• MONITORAÇÃO: COMO MONITORAR UM JOB BATCH EFÊMERO?
• PROMETHEUS PUSHGATEWAY  RSOCKET PROXY
• STORAGE: QUAL A MELHOR FORMA DE ENVIAR ARQUIVOS DO MF PARA A CLOUD?
• NAS? EMPTYDIR? MINIO? CEPH?
• SCHEDULING: QUAL A MELHOR FORMA DE AGENDAR O JOB?
• CRONJOB? CONTROL-M? SPRING CLOUD DATA FLOW?
• ESCALA HORIZONTAL
• PARTICIONAMENTO DOS ARQUIVOS, REMOTE PARTITIONING (MANAGER E WORKERS)
• CACHE
• REDIS? KAFKA?
Spring batch no kubernetes

Mais conteúdo relacionado

Destaque

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destaque (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Spring batch no kubernetes

  • 1. EXECUTANDO JOBS BATCH NO K8S DESAFIOS E LIÇÕES APRENDIDAS
  • 2. AGENDA O Desafio Spring Batch 101 A Solução TODOS e Melhorias
  • 3. O DESAFIO • ESTE VALOR É CALCULADO DE ACORDO COM REGRAS DE CADA BANDEIRA. E SÃO CONSIDERADOS DIVERSOS ATRIBUTOS DA TRANSAÇÃO, TAIS COMO, TIPO DE ESTABELECIMENTO (MCC), MODALIDADE DO CARTÃO, FORMA DE PAGAMENTO (PRESENCIAL, NÃO-PRESENCIAL), REGIÃO (NACIONAL, INTERNACIONAL), ENTRE OUTROS CRITÉRIOS. • PARA CADA TRANSAÇÃO REALIZADA COM CARTÕES DE CRÉDITO, DÉBITO OU PRÉ-PAGO, O BANCO RECEBE DAS BANDEIRAS (VISA, MASTER, ELO, AMEX) UM PERCENTUAL DO VALOR DA TRANSAÇÃO, DENOMINADO DE TAXA DE INTERCÂMBIO.
  • 4. O DESAFIO • HOJE, OS VALORES DE INTERCÂMBIO CALCULADOS PARA CADA TRANSAÇÃO CHEGAM POR MEIO DE ARQUIVOS ENVIADOS PELAS BANDEIRAS NA BASE 2. CADA BANDEIRA POSSUI UM LAYOUT DE ARQUIVO E REGRAS DE CÁLCULO DISTINTAS. EX. A MASTER UTILIZA O PADRÃO ISO-8583, ENQUANTO A VISA E ELO, UTILIZAM UM PADRÃO POSICIONAL FIXO DE 168 POSIÇÕES E TIPOS DE REGISTROS. • EM UMA TRANSAÇÃO DE CARTÃO, EXISTE A BASE 1 (AUTORIZAÇÃO) E A BASE 2 (CONCILIAÇÃO), QUE É UM ARQUIVO DIÁRIO CONTENDO O MOVIMENTO DO DIA ANTERIOR. O PROCESSAMENTO DA BASE 2 É FEITO VIA BATCH.
  • 5. Portador (Consumidor) Lojista Adquirente Credenciador Bandeira Emissor P-Taxa de Intercâmbio Tarifa Tarifa Paga (P) Paga (P-TD) Transfere o valor
  • 6. O DESAFIO HOJE NÃO EXISTE NENHUM PROCESSO AUTOMATIZADO QUE REALIZE A CONFERÊNCIA DO CÁLCULO DA TAXA DE INTERCÂMBIO. SIMPLESMENTE CONFIAMOS NO CÁLCULO FEITO PELAS BANDEIRAS.
  • 7. PROPOSTA DE SOLUÇÃO CRONJOB + SPRING BATCH + K8S PRAZO: 4 MESES (8 SPRINTS)
  • 9. “ ” PROCESSAMENTO BATCH, … É DEFINIDO COMO O PROCESSAMENTO DE UMA QUANTIDADE FINITA DE DADOS, SEM INTERAÇÃO OU INTERRUPÇÃO -- MICHAEL MINELLA THE DEFINITIVE GUIDE TO SPRING BATCH
  • 10. JOB
  • 11. STEP
  • 14. Job JobInstance JobExecution * * Job do Fechamento de Fatura Job do Fechamento da Fatura de Maio/2020 Primeira tentativa do Job do Fechamento de Fatura de Maio/2020 JobParameters mes.fatura = 05/2020
  • 15. PRINCÍPIOS E ORIENTAÇÕES PARA UMA APLICAÇÃO BATCH • BATCH AFETA O ON-LINE E VICE-VERSA • SIMPLIFICAR O MÁXIMO POSSÍVEL • ARMAZENE SEUS DADOS ONDE OCORRE O PROCESSAMENTO • MINIMIZE O USO DE RECURSOS, ESPCECIALMENTE DE I/O • IMPLEMENTE CHECKSUMS PARA VALIDAÇÕES INTERNAS SEMPRE QUE POSSÍVEL • PLANEJE E EXECUTES TESTES DE STRESS O MAIS CEDO POSSÍVEL (AMBIENTE E VOLUME DE PRODUÇÃO) • MANTENHA UMA ROTINA DE BACKUP DOS ARQUIVOS/DADOS DE ENTRADA
  • 16. ESTRATÉGIAS DE PROCESSAMENTOS BATCH "AS REGRAS DE NEGÓCIO DEVEM SER DECOMPOSTAS EM UMA SÉRIE DE PASSOS QUE POSSAM SER IMPLEMENTADOS COM OS SEGUINTES BLOCOS DE CONSTRUÇÃO PADRÃO" • APLICAÇÕES DE: • CONVERSÃO • VALIDAÇÃO • EXTRAÇÃO/FILTRAGEM • EXTRAÇÃO/ATUALIZAÇÃO • PROCESSAMENTO/ATUALIZAÇÃO • TRANSFORMAÇÃO/FORMATAÇÃO • STEPS UTILITÁRIOS: • SORT • SPLIT • MERGE
  • 17. APLICAÇÕES BATCH PODEM SER CATEGORIZADAS PELA ORIGEM DE ENTRADA DE DADOS "Orientadas a Banco de Dados" Origem dos dados são registros de um banco de dados "Orientadas a Arquivos" Origem dos dados são registros de um arquivo "Orientadas a Mensagens" Origem dos dados são mensagens de uma fila/tópico
  • 18. ESTRATÉGIAS DE PROCESSAMENTOS BATCH 1. PROCESSAMENTO NORMAL NA JANELA BATCH (MODO OFF-LINE) 2. PROCESSAMENTO CONCORRENTE ENTRE BATCHES E ONLINE 3. PROCESSAMENTO PARALELO DE VÁRIOS JOBS DIFERENTES AO MESMO TEMPO 4. PARTICIONAMENTO (VÁRIAS INSTÂNCIAS DO MESMO JOB) 5. COMBINAÇÕES DAS OPÇÕES ANTERIORES
  • 19. ESTRATÉGIAS DE PARTICIONAMENTO • QUEBRA FIXA E UNIFORME DE UM CONJUNTO DE REGISTROS • QUEBRA POR COLUNA DE CHAVE • QUEBRA POR VIEWS • ADIÇÃO DE INDICADOR DE PROCESSAMENTO • UNLOAD + SPLIT DE TABELA EM ARQUIVOS • UTILIZANDO UMA COLUNA DE HASH
  • 20. NOVIDADES DO SPRING BATCH 4.2 • SUPORTE A MÉTRICAS COM O MICROMETER • ITEMREADER E ITEMWRITER DO KAFKA • ITEMREADER E ITEMWRITER DO AVRO • ATUALIZAÇÃO DA DOCUMENTAÇÃO
  • 21. VISÃO GERAL DA ARQUITETURA CronJob Master EDI Banco Batch Mainframe DB2 API REST Elo Visa EDI EDI BB Cloud Dashboard
  • 22. Master BB-SIA Elo Visa Reader Processor DB Writer Cache Spring Batch Job Download Step REST O JOB Tasklet Chunklet
  • 23. TODOS E MELHORIAS • MONITORAÇÃO: COMO MONITORAR UM JOB BATCH EFÊMERO? • PROMETHEUS PUSHGATEWAY  RSOCKET PROXY • STORAGE: QUAL A MELHOR FORMA DE ENVIAR ARQUIVOS DO MF PARA A CLOUD? • NAS? EMPTYDIR? MINIO? CEPH? • SCHEDULING: QUAL A MELHOR FORMA DE AGENDAR O JOB? • CRONJOB? CONTROL-M? SPRING CLOUD DATA FLOW? • ESCALA HORIZONTAL • PARTICIONAMENTO DOS ARQUIVOS, REMOTE PARTITIONING (MANAGER E WORKERS) • CACHE • REDIS? KAFKA?