Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring...

17
Globalcode – Open4education Criando uma arquitetura escalável para processamento de arquivos com micro serviços e Spring Boot Emmanuel Neri @emmanuelnerii

Transcript of Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring...

Page 1: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

Globalcode – Open4education

Criando uma arquitetura escalável

para processamento de arquivos

com micro serviços e Spring Boot

Emmanuel Neri

@emmanuelnerii

Page 2: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

Globalcode – Open4education

Emmanuel Neri

Mestre em Desenvolvimento de Tecnologia

Desenvolvedor desde 2010

Atualmente dev na Navita

Page 3: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

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

Page 4: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

Globalcode – Open4education

Cenário

Processamento de notas fiscais

Page 5: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

Globalcode – Open4education

O problema

Page 6: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

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!

Page 7: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

Globalcode – Open4education

Decomposição

Leitura Processamento Disponibilização

Leitura do XML

Backup

Parsear o XML

Validações

Armazenamento

Dispor os

dados

Page 8: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

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

Page 9: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

Globalcode – Open4education

Processamento do arquivo

Processador

ActiveMQInsere dados

processados no banco

relacional

Postgres

Fila envia xml para

processamento

Page 10: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

Globalcode – Open4education

Disponibilização dos dados

Disponibilizador

MongoDB

Consulta arquivos

Postgres

Consulta Notas

Interface dos arquivos Interface das notas fiscais

Page 11: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

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

Page 12: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

Globalcode – Open4education

Escalabilidade

Page 13: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

Globalcode – Open4education

Tecnologias

Auto configuração

Servidores HTTP Embedded

Gerenciamento de dependências

Page 14: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

Globalcode – Open4education

Tecnologias

Leitor

spring-boot-starter

spring-boot-starter-activemq

spring-boot-starter-data-mongodb

Page 15: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

Globalcode – Open4education

Tecnologias

Processador

spring-boot-starter

spring-boot-starter-activemq

spring-boot-starter-data-jpa

spring-boot-starter-validation

Page 16: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

Globalcode – Open4education

Tecnologias

Disponibilizador

spring-boot-starter

spring-boot-starter-web

spring-boot-starter-jdbc

mongo-java-driver

Page 17: Criando uma arquitetura escalável para processamento de arquivos com micro serviços e spring boot

Globalcode – Open4education

http://github.com/emmanuelneri/solucao-processamento-arquivo

[email protected]

• @emmanuelnerii

• http://emmanuelnerisouza.wordpress.com

• github.com/emmanuelneri

Obrigado!!