SlideShare a Scribd company logo
1 of 16
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

More Related Content

What's hot

What's hot (20)

텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축텔레그램을 이용한 양방향 모니터링 시스템 구축
텔레그램을 이용한 양방향 모니터링 시스템 구축
 
Common issues with Apache Kafka® Producer
Common issues with Apache Kafka® ProducerCommon issues with Apache Kafka® Producer
Common issues with Apache Kafka® Producer
 
Integrating Apache NiFi and Apache Flink
Integrating Apache NiFi and Apache FlinkIntegrating Apache NiFi and Apache Flink
Integrating Apache NiFi and Apache Flink
 
Netflix Data Pipeline With Kafka
Netflix Data Pipeline With KafkaNetflix Data Pipeline With Kafka
Netflix Data Pipeline With Kafka
 
Networking in Java with NIO and Netty
Networking in Java with NIO and NettyNetworking in Java with NIO and Netty
Networking in Java with NIO and Netty
 
An Introduction To REST API
An Introduction To REST APIAn Introduction To REST API
An Introduction To REST API
 
Pulsar - Distributed pub/sub platform
Pulsar - Distributed pub/sub platformPulsar - Distributed pub/sub platform
Pulsar - Distributed pub/sub platform
 
Flink Complex Event Processing
Flink Complex Event ProcessingFlink Complex Event Processing
Flink Complex Event Processing
 
Grafana 7.0
Grafana 7.0Grafana 7.0
Grafana 7.0
 
Testes em uma arquitetura de micro-serviços - Renan Martins
Testes em uma arquitetura de micro-serviços - Renan MartinsTestes em uma arquitetura de micro-serviços - Renan Martins
Testes em uma arquitetura de micro-serviços - Renan Martins
 
Code Review
Code ReviewCode Review
Code Review
 
RabbitMQ vs Apache Kafka - Part 1
RabbitMQ vs Apache Kafka - Part 1RabbitMQ vs Apache Kafka - Part 1
RabbitMQ vs Apache Kafka - Part 1
 
Kafka + Uber- The World’s Realtime Transit Infrastructure, Aaron Schildkrout
Kafka + Uber- The World’s Realtime Transit Infrastructure, Aaron SchildkroutKafka + Uber- The World’s Realtime Transit Infrastructure, Aaron Schildkrout
Kafka + Uber- The World’s Realtime Transit Infrastructure, Aaron Schildkrout
 
Dark Energy, Dark Matter and the Microservices Patterns?!
Dark Energy, Dark Matter and the Microservices Patterns?!Dark Energy, Dark Matter and the Microservices Patterns?!
Dark Energy, Dark Matter and the Microservices Patterns?!
 
Decoupled Days 2019: Delivering Headless Commerce
Decoupled Days 2019: Delivering Headless CommerceDecoupled Days 2019: Delivering Headless Commerce
Decoupled Days 2019: Delivering Headless Commerce
 
Rest api standards and best practices
Rest api standards and best practicesRest api standards and best practices
Rest api standards and best practices
 
Using Sphinx for Search in PHP
Using Sphinx for Search in PHPUsing Sphinx for Search in PHP
Using Sphinx for Search in PHP
 
A visual introduction to Apache Kafka
A visual introduction to Apache KafkaA visual introduction to Apache Kafka
A visual introduction to Apache Kafka
 
Producer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache KafkaProducer Performance Tuning for Apache Kafka
Producer Performance Tuning for Apache Kafka
 
AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems
AEM + MongoDB: How to Scale and Operate Large Digital Asset Management SystemsAEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems
AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems
 

Similar to Testes em uma arquitetura com messageria/streaming (Kafka)

Similar to Testes em uma arquitetura com messageria/streaming (Kafka) (20)

Expondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travadosExpondo APIs de back-ends legados e travados
Expondo APIs de back-ends legados e travados
 
Minicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTIMinicurso IOT com javascript - SBTI
Minicurso IOT com javascript - SBTI
 
Javascript State of the Union 2015
Javascript State of the Union 2015Javascript State of the Union 2015
Javascript State of the Union 2015
 
Ux for Developers - Build Better Products
Ux for Developers - Build Better ProductsUx for Developers - Build Better Products
Ux for Developers - Build Better Products
 
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
 
Deck QCON SP 2018
Deck QCON SP 2018Deck QCON SP 2018
Deck QCON SP 2018
 
Transformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualizaçãoTransformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualização
 
API management: um aliado para construção de APIs
API management: um aliado para construção de APIsAPI management: um aliado para construção de APIs
API management: um aliado para construção de APIs
 
Introdução Splunk Brasil
Introdução Splunk BrasilIntrodução Splunk Brasil
Introdução Splunk Brasil
 
Webinar: Desenvolvimento de Interface Gráfica para Embarcados
Webinar: Desenvolvimento de Interface Gráfica para EmbarcadosWebinar: Desenvolvimento de Interface Gráfica para Embarcados
Webinar: Desenvolvimento de Interface Gráfica para Embarcados
 
Seminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaSeminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec Cafelândia
 
MVPConf - Azure Functions
MVPConf - Azure FunctionsMVPConf - Azure Functions
MVPConf - Azure Functions
 
Apps tecnologias e usos
Apps   tecnologias e usosApps   tecnologias e usos
Apps tecnologias e usos
 
Mobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para NegociosMobile Ria Para Aplicacoes Para Negocios
Mobile Ria Para Aplicacoes Para Negocios
 
VIII Encontro de Parceiros Microsoft - Visão da Microsoft para Plataforma de TI
VIII Encontro de Parceiros Microsoft - Visão da Microsoft para Plataforma de TIVIII Encontro de Parceiros Microsoft - Visão da Microsoft para Plataforma de TI
VIII Encontro de Parceiros Microsoft - Visão da Microsoft para Plataforma de TI
 
Análise de Ameaças Cibernéticas em Protocolos Industriais
Análise de Ameaças Cibernéticas em Protocolos Industriais Análise de Ameaças Cibernéticas em Protocolos Industriais
Análise de Ameaças Cibernéticas em Protocolos Industriais
 
Fuzzing com ZAP (Zed Attack Proxy)
Fuzzing com ZAP (Zed Attack Proxy)Fuzzing com ZAP (Zed Attack Proxy)
Fuzzing com ZAP (Zed Attack Proxy)
 
Repensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIsRepensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIs
 
3 Telas e uma nuvem
3 Telas e uma nuvem3 Telas e uma nuvem
3 Telas e uma nuvem
 
EzPlant no Ecossistema
EzPlant no EcossistemaEzPlant no Ecossistema
EzPlant no Ecossistema
 

More from Robson Agapito Correa

Palestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de SoftwarePalestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de Software
Robson Agapito Correa
 

More from Robson Agapito Correa (19)

ChatGPT e Testes de Software
ChatGPT e Testes de SoftwareChatGPT e Testes de Software
ChatGPT e Testes de Software
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
A aventura de um Agile Tester em uma empresa Waterfall Portuguesa
A aventura de um Agile Tester em uma empresa Waterfall PortuguesaA aventura de um Agile Tester em uma empresa Waterfall Portuguesa
A aventura de um Agile Tester em uma empresa Waterfall Portuguesa
 
Python com qualidade - testes funcionais com Python e Selenium Webdriver
Python com qualidade - testes funcionais com Python e Selenium WebdriverPython com qualidade - testes funcionais com Python e Selenium Webdriver
Python com qualidade - testes funcionais com Python e Selenium Webdriver
 
Qual arquitetura de automação escolher: monolítica ou distribuída?
Qual arquitetura de automação escolher: monolítica ou distribuída?Qual arquitetura de automação escolher: monolítica ou distribuída?
Qual arquitetura de automação escolher: monolítica ou distribuída?
 
MindMaps ajudando planejar meus testes no mundo Agile
MindMaps ajudando planejar meus testes no mundo AgileMindMaps ajudando planejar meus testes no mundo Agile
MindMaps ajudando planejar meus testes no mundo Agile
 
Utilizando Cucumber para um Continuous Delivery
Utilizando Cucumber para um Continuous DeliveryUtilizando Cucumber para um Continuous Delivery
Utilizando Cucumber para um Continuous Delivery
 
Mutant Testing: um mundo para um X-Testing.
Mutant Testing: um mundo para um X-Testing.Mutant Testing: um mundo para um X-Testing.
Mutant Testing: um mundo para um X-Testing.
 
Automação de testes funcionais com Python e Mechanize
Automação de testes funcionais com Python e MechanizeAutomação de testes funcionais com Python e Mechanize
Automação de testes funcionais com Python e Mechanize
 
Estou desempregado e agora? Como me recolocar como QA.
Estou desempregado e agora? Como me recolocar como QA.Estou desempregado e agora? Como me recolocar como QA.
Estou desempregado e agora? Como me recolocar como QA.
 
Mutant Testing: um mundo para um X-Tester participar.
Mutant Testing: um mundo para um X-Tester participar.Mutant Testing: um mundo para um X-Tester participar.
Mutant Testing: um mundo para um X-Tester participar.
 
Ruby Conf Brasil 2015
Ruby Conf Brasil 2015Ruby Conf Brasil 2015
Ruby Conf Brasil 2015
 
Criação de uma equipe de QAs, do Waterfall ao Agile
Criação de uma equipe de QAs, do Waterfall ao AgileCriação de uma equipe de QAs, do Waterfall ao Agile
Criação de uma equipe de QAs, do Waterfall ao Agile
 
QAs podem realizar testes de APIs? DEVEM!!!
QAs podem realizar testes de APIs? DEVEM!!!QAs podem realizar testes de APIs? DEVEM!!!
QAs podem realizar testes de APIs? DEVEM!!!
 
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
 
Palestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de SoftwarePalestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de Software
 
Palestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de SoftwarePalestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de Software
 
Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver para reali...
Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver  para reali...Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver  para reali...
Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver para reali...
 
TDC 2012 - Processo de Teste e Qualidade de Software
TDC 2012 - Processo de Teste e Qualidade de SoftwareTDC 2012 - Processo de Teste e Qualidade de Software
TDC 2012 - Processo de Teste e Qualidade de Software
 

Testes em uma arquitetura com messageria/streaming (Kafka)

  • 1. Shaping the future of digital business Testes em uma arquitetura com messageria/streaming Robson Agapito Correa
  • 2. 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
  • 3. 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
  • 4. CONFIDENTIALGFT GROUP Shaping the future of digital business Messageria App Producer MESSAGE Continua... App Consumer Kafka, RabbitMQ ... BD
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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)
  • 14. 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
  • 15. 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
  • 16. 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

Editor's Notes

  1. 1 | 37