Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring...
-
Upload
emmanuel-neri -
Category
Software
-
view
612 -
download
2
Transcript of Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring...
Globalcode – Open4education
Criando uma arquitetura escalável
para processamento de arquivos
com micro serviços e Spring Boot
Emmanuel Neri
@emmanuelnerii
Globalcode – Open4education
Emmanuel Neri
Mestre em Desenvolvimento de Tecnologia
Desenvolvedor desde 2010
Atualmente dev na Navita
Globalcode – Open4education
Agenda
Cenário de processamento de arquivos
Decomposição do cenário em micro serviços
Aplicando os micro serviços com Spring Boot
Globalcode – Open4education
Cenário
Processamento de notas fiscais
Globalcode – Open4education
O problema
Globalcode – Open4education
Algumas possíveis soluções
Limitar o pool de threads?
Aumentar o hardware ou
replicar a instância?
Controlar o agendamento?
Separar em estruturas!
Globalcode – Open4education
Decomposição
Leitura Processamento Disponibilização
Leitura do XML
Backup
Parsear o XML
Validações
Armazenamento
Dispor os
dados
Globalcode – Open4education
Leitura do arquivo
busca os xmls a
cada x minutosInsere xml na fila
Insere xml na
base NoSQL
MongoDB
Pasta de arquivos ActiveMQ
Leitor
Globalcode – Open4education
Processamento do arquivo
Processador
ActiveMQInsere dados
processados no banco
relacional
Postgres
Fila envia xml para
processamento
Globalcode – Open4education
Disponibilização dos dados
Disponibilizador
MongoDB
Consulta arquivos
Postgres
Consulta Notas
Interface dos arquivos Interface das notas fiscais
Globalcode – Open4education
Solução de micro serviços
busca os xmls a
cada x minutosInsere xml na fila
Insere xml na
base NoSQL
Fila envia xml para
processamento
Insere dados
processados no
banco relacional
Consulta dadosConsulta arquivos
Globalcode – Open4education
Escalabilidade
Globalcode – Open4education
Tecnologias
Auto configuração
Servidores HTTP Embedded
Gerenciamento de dependências
Globalcode – Open4education
Tecnologias
Leitor
spring-boot-starter
spring-boot-starter-activemq
spring-boot-starter-data-mongodb
Globalcode – Open4education
Tecnologias
Processador
spring-boot-starter
spring-boot-starter-activemq
spring-boot-starter-data-jpa
spring-boot-starter-validation
Globalcode – Open4education
Tecnologias
Disponibilizador
spring-boot-starter
spring-boot-starter-web
spring-boot-starter-jdbc
mongo-java-driver
Globalcode – Open4education
http://github.com/emmanuelneri/solucao-processamento-arquivo
• @emmanuelnerii
• http://emmanuelnerisouza.wordpress.com
• github.com/emmanuelneri
Obrigado!!