Shaping the future
of digital business
Testes em uma arquitetura com
messageria/streaming
Robson Agapito Correa
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Robson Agapito
QA Specialist
QA por opção e Agilista por prazer
@robsonagapito
http://www.slideshare.net/robsonagapito
https://br.linkedin.com/in/robsonagapito
https://github.com/robsonagapito
https://about.me/robsonagapito
https://medium.com/@robsonagapito
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Síncrono e Assíncrono
Aplicação Processamento
Continua
Assíncrono
Aplicação Processamento
Continua
Síncrono
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Messageria
App Producer MESSAGE
Continua...
App
Consumer
Kafka, RabbitMQ ...
BD
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
 KAFKA
• BROCKERS
 Localhost
 Server 1
 Server 2
• TOPICOS
 PARTIÇÕES
1. Partição 1
2. Partição 2
 ZOOKEEPER
Arquitetura do Kafka
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Diferença do Kafka e outra Messageria
 Não deleta mensagem após consumo
 Posicionar e ler qualquer mensagem
 Facilidade em escalar
 Mais complexo
 Tolerância a falhas
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Funcionalidade,
Estrutura(Json)
E
performance
O objetivo não era
testar o Kafka e
sim as aplicações
Consumer e
Producer
Tipos de Testes
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Arquitetura da Aplicação
TÓPICO 1
(Json)
TÓPICO 2
(Padrão
MainFrame)
App 2
App 1
Library
App Client
Mainframe
Elastic Search
X
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Arquitetura da Aplicação
TÓPICO 1
(Json)
TÓPICO 2
(Padrão
MainFrame)
App 2
App 1
Library
App Client
Mainframe
Elastic Search
X
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Arquitetura da Aplicação
TÓPICO 1
(Json)
TÓPICO 2
(Padrão
MainFrame)
App 2
App 1
Library
App Client
Mainframe
Elastic Search
X
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Arquitetura da Aplicação
TÓPICO 1
(Json)
TÓPICO 2
(Padrão
MainFrame)
App 2
App 1
Library
App Client
Mainframe
Elastic Search
X
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Dificuldades e Desafios
- Falta de conhecimento na arquitetura Kafka
- Comunicação com o Kafka Local
- Segurança da comunicação nos ambientes
- Qualquer aplicação poderia ser um consumer ou um
producer
- Muitas mensagens/informação sendo produzidas e
consumidas (chegamos a atender 6000/segundo)
- Fazer testes antes do desenvolvimento (uma parte
do BDD)
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
App 1
Library
App Client
Elastic Search
X
Arquitetura da Aplicação
TÓPICO 1
(Json)
TÓPICO 2
(Padrão
MainFrame)
App 2
Mainframe
CONFIDENTIALGFT GROUP
Shaping the
future of digital
business
Links interessantes
Aplicação exemplo do Consumer/Producer do Kafka em Python:
https://github.com/robsonagapito/kafka-app-python
Artigo de como subir um Kafka em Localhost no Windows:
https://medium.com/@robsonagapito/subindo-o-kafka-em-localhost-no-windows-288c66b1b71a
Projeto de testes exemplo:
Podcast GFT sobre Kafka:
https://open.spotify.com/show/1Mw5kJHZaEQYcIpAyP3Db8
Webinar GFT sobre Kafka:
https://www.youtube.com/watch?v=7P7O7X1U2Ew
Site da Documentação do Kafka:
https://kafka.apache.org/documentation
https://github.com/robsonagapito/kafka-testing-java
Shaping the future
of digital business
Thank you!
GFT Brazil
Robson Agapito Correa
QA Specialist
Av. São Francisco, 98
18095-450 - Sorocaba/SP
T +55 15 3414-9371 / +55 11 9 8661-3181
robson.correa@gft.com

Testes em uma arquitetura com messageria/streaming (Kafka)

  • 1.
    Shaping the future ofdigital business Testes em uma arquitetura com messageria/streaming Robson Agapito Correa
  • 2.
    CONFIDENTIALGFT GROUP Shaping the futureof digital business Robson Agapito QA Specialist QA por opção e Agilista por prazer @robsonagapito http://www.slideshare.net/robsonagapito https://br.linkedin.com/in/robsonagapito https://github.com/robsonagapito https://about.me/robsonagapito https://medium.com/@robsonagapito
  • 3.
    CONFIDENTIALGFT GROUP Shaping the futureof digital business Síncrono e Assíncrono Aplicação Processamento Continua Assíncrono Aplicação Processamento Continua Síncrono
  • 4.
    CONFIDENTIALGFT GROUP Shaping the futureof digital business Messageria App Producer MESSAGE Continua... App Consumer Kafka, RabbitMQ ... BD
  • 5.
    CONFIDENTIALGFT GROUP Shaping the futureof digital business  KAFKA • BROCKERS  Localhost  Server 1  Server 2 • TOPICOS  PARTIÇÕES 1. Partição 1 2. Partição 2  ZOOKEEPER Arquitetura do Kafka
  • 6.
    CONFIDENTIALGFT GROUP Shaping the futureof digital business Diferença do Kafka e outra Messageria  Não deleta mensagem após consumo  Posicionar e ler qualquer mensagem  Facilidade em escalar  Mais complexo  Tolerância a falhas
  • 7.
    CONFIDENTIALGFT GROUP Shaping the futureof digital business Funcionalidade, Estrutura(Json) E performance O objetivo não era testar o Kafka e sim as aplicações Consumer e Producer Tipos de Testes
  • 8.
    CONFIDENTIALGFT GROUP Shaping the futureof digital business Arquitetura da Aplicação TÓPICO 1 (Json) TÓPICO 2 (Padrão MainFrame) App 2 App 1 Library App Client Mainframe Elastic Search X
  • 9.
    CONFIDENTIALGFT GROUP Shaping the futureof digital business Arquitetura da Aplicação TÓPICO 1 (Json) TÓPICO 2 (Padrão MainFrame) App 2 App 1 Library App Client Mainframe Elastic Search X
  • 10.
    CONFIDENTIALGFT GROUP Shaping the futureof digital business Arquitetura da Aplicação TÓPICO 1 (Json) TÓPICO 2 (Padrão MainFrame) App 2 App 1 Library App Client Mainframe Elastic Search X
  • 11.
    CONFIDENTIALGFT GROUP Shaping the futureof digital business Arquitetura da Aplicação TÓPICO 1 (Json) TÓPICO 2 (Padrão MainFrame) App 2 App 1 Library App Client Mainframe Elastic Search X
  • 12.
    CONFIDENTIALGFT GROUP Shaping the futureof digital business Dificuldades e Desafios - Falta de conhecimento na arquitetura Kafka - Comunicação com o Kafka Local - Segurança da comunicação nos ambientes - Qualquer aplicação poderia ser um consumer ou um producer - Muitas mensagens/informação sendo produzidas e consumidas (chegamos a atender 6000/segundo) - Fazer testes antes do desenvolvimento (uma parte do BDD)
  • 13.
  • 14.
    CONFIDENTIALGFT GROUP Shaping the futureof digital business App 1 Library App Client Elastic Search X Arquitetura da Aplicação TÓPICO 1 (Json) TÓPICO 2 (Padrão MainFrame) App 2 Mainframe
  • 15.
    CONFIDENTIALGFT GROUP Shaping the futureof digital business Links interessantes Aplicação exemplo do Consumer/Producer do Kafka em Python: https://github.com/robsonagapito/kafka-app-python Artigo de como subir um Kafka em Localhost no Windows: https://medium.com/@robsonagapito/subindo-o-kafka-em-localhost-no-windows-288c66b1b71a Projeto de testes exemplo: Podcast GFT sobre Kafka: https://open.spotify.com/show/1Mw5kJHZaEQYcIpAyP3Db8 Webinar GFT sobre Kafka: https://www.youtube.com/watch?v=7P7O7X1U2Ew Site da Documentação do Kafka: https://kafka.apache.org/documentation https://github.com/robsonagapito/kafka-testing-java
  • 16.
    Shaping the future ofdigital business Thank you! GFT Brazil Robson Agapito Correa QA Specialist Av. São Francisco, 98 18095-450 - Sorocaba/SP T +55 15 3414-9371 / +55 11 9 8661-3181 robson.correa@gft.com

Notas do Editor