SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
Apache Camel
na vida real
Rodrigo Stefani Domingues
11/abril/14
Quem sou eu?
● Trabalho com Java há 7 anos
● Arquiteto de Software na CI&T
● Nerd
● Recentemente mineiro.
Bom, vamos lá!
Integrações
Como o cliente vê...
Como o gestor vê...
Como realmente é ...
Tá bom, como podemos
melhorar?
EIP
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
Apache Camel - Mensagem
Apache Camel - Endpoint
Consumer
Producer
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
Agora vamos colocar
Spring!!!
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
Tá bom. Isso vai pro
servidor?
[Q con] apache camel e eip na vida real
Tá bom. Como ele nos
ajudou?
Caso - Camel Mina
● O que se passa:
○ Aplicação em testes de stress apresenta Out Of
Memory
● Como fizemos
○ Camel Mina tem problema de memory leak
○ alteramos de Camel Mina para Camel Mina 2
(utiliza Apache Mina 2)
Caso - Monitoramento
● O que se passa:
○ Cliente precisa de monitoramento mais detalhado
● Como fizemos
○ Criamos rota para montagem dos tickets de monitoramento
○ Utilização do Padrão WireTap
Caso - Troca tecnologica
● O que se passa:
○ Integração com módulo foi definido como REST
○ Sistema externo precisa utilizar, porém via JMS
● Como fizemos
○ Para nosso sistema :
■ to(cxfrs:/bean/interfaceRest)
→
to(jms:nomeDaFila)
○ Para o sistema que demandou:
■ to(jms:nomeDaFila?replyTo=FilaDeResposta)
Caso - Acordado no meio da noite
● O que se passa:
○ Aplicação em produção thread stuck
● O que acontecia:
○ Aplicação de monitoramento, não retirava
mensagens da fila
● O que fizemos:
○ Pedimos pra arrumar a aplicação remota, claro!
○ Enquanto isso: activemq:fila → file:/dev/null
Nem tudo são flores ...
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
Por que me apaixonei?!
[Q con] apache camel e eip na vida real
● Tempo de resposta < 1s
● 600 TPS por instancia
● 6 instancias em produção
● 12.960.000 por hora
● 311.040.000 por dia
[Q con] apache camel e eip na vida real
[Q con] apache camel e eip na vida real
Com isso ...
[Q con] apache camel e eip na vida real
Dúvidas?
THANKS
FOR
BEING
HERE!

Contenu connexe

Similaire à [Q con] apache camel e eip na vida real

Curso microcontroladores pic no mp lab 8
Curso microcontroladores pic no mp lab 8Curso microcontroladores pic no mp lab 8
Curso microcontroladores pic no mp lab 8RogerMasters
 
Paralelização de Algoritmo do Produto Escalar
Paralelização de Algoritmo do Produto EscalarParalelização de Algoritmo do Produto Escalar
Paralelização de Algoritmo do Produto EscalarWendel Oliveira
 
Entendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesiMasters
 
Testes de escalabilidade usando cloud
Testes de escalabilidade usando cloudTestes de escalabilidade usando cloud
Testes de escalabilidade usando cloudPET Computação
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?tdc-globalcode
 
Eiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learningEiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learningDevCamp Campinas
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...tdc-globalcode
 
Programar pic em c motor passo
Programar pic em c motor passoProgramar pic em c motor passo
Programar pic em c motor passoMario Angelo
 
Twitter, Apache Camel e Enterprise Integration Patterns
Twitter, Apache Camel e Enterprise Integration PatternsTwitter, Apache Camel e Enterprise Integration Patterns
Twitter, Apache Camel e Enterprise Integration PatternsBruno Borges
 
Webinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcadosWebinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcadosEmbarcados
 
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...tdc-globalcode
 
Monitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel BauermannMonitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel BauermannTchelinux
 
Monitoramento rede
Monitoramento redeMonitoramento rede
Monitoramento redeAndré Déo
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcadotdc-globalcode
 
TDC2016 - Processamento de Imagem em GPU com OpenGL
TDC2016 - Processamento de Imagem em GPU com OpenGLTDC2016 - Processamento de Imagem em GPU com OpenGL
TDC2016 - Processamento de Imagem em GPU com OpenGLAndré Curvello
 

Similaire à [Q con] apache camel e eip na vida real (20)

Putting a-heat-with-thermostat
Putting a-heat-with-thermostatPutting a-heat-with-thermostat
Putting a-heat-with-thermostat
 
Curso microcontroladores pic no mp lab 8
Curso microcontroladores pic no mp lab 8Curso microcontroladores pic no mp lab 8
Curso microcontroladores pic no mp lab 8
 
Paralelização de Algoritmo do Produto Escalar
Paralelização de Algoritmo do Produto EscalarParalelização de Algoritmo do Produto Escalar
Paralelização de Algoritmo do Produto Escalar
 
Entendendo os Porquês do seu servidor
Entendendo os Porquês do seu servidorEntendendo os Porquês do seu servidor
Entendendo os Porquês do seu servidor
 
Entendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita Bernardes
 
Testes de escalabilidade usando cloud
Testes de escalabilidade usando cloudTestes de escalabilidade usando cloud
Testes de escalabilidade usando cloud
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?
 
Eiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learningEiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learning
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
 
Mainframe Performance Review
Mainframe Performance ReviewMainframe Performance Review
Mainframe Performance Review
 
Programar pic em c motor passo
Programar pic em c motor passoProgramar pic em c motor passo
Programar pic em c motor passo
 
Twitter, Apache Camel e Enterprise Integration Patterns
Twitter, Apache Camel e Enterprise Integration PatternsTwitter, Apache Camel e Enterprise Integration Patterns
Twitter, Apache Camel e Enterprise Integration Patterns
 
Webinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcadosWebinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcados
 
Spring boot
Spring bootSpring boot
Spring boot
 
Palestra Java 8 - V Boot
Palestra Java 8 - V BootPalestra Java 8 - V Boot
Palestra Java 8 - V Boot
 
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
 
Monitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel BauermannMonitoramento da rede de A a ZABBIX - Daniel Bauermann
Monitoramento da rede de A a ZABBIX - Daniel Bauermann
 
Monitoramento rede
Monitoramento redeMonitoramento rede
Monitoramento rede
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcado
 
TDC2016 - Processamento de Imagem em GPU com OpenGL
TDC2016 - Processamento de Imagem em GPU com OpenGLTDC2016 - Processamento de Imagem em GPU com OpenGL
TDC2016 - Processamento de Imagem em GPU com OpenGL
 

Plus de Rodrigo Stefani Domingues

[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructureRodrigo Stefani Domingues
 
[TDC - Testes] Estratégia de automação dos testes em microserviços
[TDC - Testes] Estratégia de automação dos testes em microserviços [TDC - Testes] Estratégia de automação dos testes em microserviços
[TDC - Testes] Estratégia de automação dos testes em microserviços Rodrigo Stefani Domingues
 
Quebrando o monolito com microserviços - TDC 2017
Quebrando o monolito com microserviços - TDC 2017Quebrando o monolito com microserviços - TDC 2017
Quebrando o monolito com microserviços - TDC 2017Rodrigo Stefani Domingues
 
[Devcamp] usando programação funcional agora!
[Devcamp] usando programação funcional agora![Devcamp] usando programação funcional agora!
[Devcamp] usando programação funcional agora!Rodrigo Stefani Domingues
 

Plus de Rodrigo Stefani Domingues (6)

[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure[2020 git lab commit] continuous infrastructure
[2020 git lab commit] continuous infrastructure
 
[TDC - Testes] Estratégia de automação dos testes em microserviços
[TDC - Testes] Estratégia de automação dos testes em microserviços [TDC - Testes] Estratégia de automação dos testes em microserviços
[TDC - Testes] Estratégia de automação dos testes em microserviços
 
[TDC-Arquitetura Java] Pastoreando Gatos
[TDC-Arquitetura Java] Pastoreando Gatos[TDC-Arquitetura Java] Pastoreando Gatos
[TDC-Arquitetura Java] Pastoreando Gatos
 
Quebrando o monolito com microserviços - TDC 2017
Quebrando o monolito com microserviços - TDC 2017Quebrando o monolito com microserviços - TDC 2017
Quebrando o monolito com microserviços - TDC 2017
 
[qCon Rio 2015] Arquitetura Incremental
[qCon Rio 2015] Arquitetura Incremental[qCon Rio 2015] Arquitetura Incremental
[qCon Rio 2015] Arquitetura Incremental
 
[Devcamp] usando programação funcional agora!
[Devcamp] usando programação funcional agora![Devcamp] usando programação funcional agora!
[Devcamp] usando programação funcional agora!
 

[Q con] apache camel e eip na vida real