Apache Camel na vida real

Transcrição

Apache Camel na vida real
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
Apache Camel - Mensagem
Apache Camel - Endpoint
Consumer
Producer
Agora vamos colocar
Spring!!!
Tá bom. Isso vai pro
servidor?
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,
mensagens da fila
não
retirava
● O que fizemos:
○ Pedimos pra arrumar a aplicação remota, claro!
○ Enquanto isso: activemq:fila → file:/dev/null
Nem tudo são flores ...
Por que me apaixonei?!
● Tempo de resposta < 1s
● 600 TPS por instancia
● 6 instancias em produção
● 12.960.000 por hora
● 311.040.000 por dia
Com isso ...
Dúvidas?
THANKS
FOR
BEING
HERE!