$30 off During Our Annual Pro Sale. View Details »

Mensageria com Microsserviços Estendida

Mensageria com Microsserviços Estendida

Lucas Santos

June 24, 2019
Tweet

More Decks by Lucas Santos

Other Decks in Programming

Transcript

  1. Mensageria
    com microsserviços

    View Slide

  2. lead solutions architect_
    /khaosdoctor @_staticvoid
    lsantos.dev
    @khaosdoctor
    quem sou eu_

    View Slide

  3. ReST
    Representational State Transfer_
    - Request -> Response
    - Comunicação um a um
    - HTTP
    - "Assíncrono"

    View Slide

  4. a Internet usa ReST

    View Slide

  5. mas ele não escala

    View Slide

  6. View Slide

  7. Messaging Oriented Architecture
    (MoA)

    View Slide

  8. história_

    View Slide

  9. P Broker C

    View Slide

  10. O broker_

    View Slide

  11. Integração de sistemas

    View Slide

  12. protocolos
    Sim, tem mais de um
    - MQTT
    - XMPP
    - DDS
    - AMQP

    View Slide

  13. MQTT
    Message Queue Telemetry
    Transport
    - Leve
    - Flexibilidade de QoS
    - Escolhido como padrão para
    mensageria
    - Simples e fácil de implementar

    View Slide

  14. MQTT
    Message Queue Telemetry
    Transport
    - Alto consumo de recursos
    devido ao TCP
    - Falta de criptografia

    View Slide

  15. XMPP
    Extensible Messaging and
    Presence Protocol
    - Possui schema de
    endereçamento
    - Client-server

    View Slide

  16. XMPP
    Extensible Messaging and
    Presence Protocol
    - Sem criptografia
    - Não existe QoS

    View Slide

  17. DDS
    Data Distribution Service
    - PubSub simples
    - Flexível e adaptável
    - Auto-discovery
    - Não usa muitos recursos
    - Determinístico na entrega de
    mensagens
    - Escalável dinamicamente
    - Eficiente

    View Slide

  18. AMQP
    Advanced Message Queueing
    Protocol
    - TCP ou UDP
    - Criptografia ponta a ponta

    View Slide

  19. AMQP
    Advanced Message Queueing
    Protocol
    - Usa mais recursos

    View Slide

  20. mensageria
    - Mais leve
    - Mais rápido
    - Binário
    - Eventos

    View Slide

  21. messaging patterns_

    View Slide

  22. View Slide

  23. Worker Queues_

    View Slide

  24. Producer / Consumer_

    View Slide

  25. P Q
    C
    C

    View Slide

  26. RPC
    Remote Procedure Call_

    View Slide

  27. Request / Reply_

    View Slide

  28. P
    CB_Q
    C
    RPC_Q
    replyTo: CB_Q
    correlationId: xpto
    replyTo: CB_Q
    correlationId: xpto
    correlationId: xpto

    View Slide

  29. Publisher / Subscriber_

    View Slide

  30. P FX
    Q
    2
    C2
    C1
    Q
    1

    View Slide

  31. Routing

    View Slide

  32. P DX
    Q
    2
    C2
    C1
    Q
    1
    Verde
    Azul

    View Slide

  33. Topics

    View Slide

  34. Topics
    - daredevil.error.log
    - daredevil.info.log
    - daredevil.warn.log
    - daredevil.message
    - heimdall.error.log
    - heimdall.info.log
    - heimdall.warn.log
    - heimdall.message

    View Slide

  35. Topics
    - daredevil.error.log
    - daredevil.info.log
    - daredevil.warn.log
    - daredevil.message
    - heimdall.error.log
    - heimdall.info.log
    - heimdall.warn.log
    - heimdall.message
    origem.severidade.tipo

    View Slide

  36. P DX
    Q
    2
    C2
    C1
    Q
    1
    daredevil.#
    *.error.*
    Q
    3
    C3
    heimdall.info.#

    View Slide

  37. Topics
    - daredevil.error.log
    - daredevil.info.log
    - daredevil.warn.log
    - daredevil.message
    - heimdall.error.log
    - heimdall.info.log
    - heimdall.warn.log
    - heimdall.message
    Q1
    Q2
    Q3

    View Slide

  38. referências_
    - blog.codeship.com/microservices-messaging-rest-isnt-al
    ways-best-choice
    - rabbitmq.com/tutorials/tutorial-two-javascript.html
    - rabbitmq.com/tutorials/tutorial-three-javascript.html
    - rabbitmq.com/tutorials/tutorial-four-javascript.html
    - rabbitmq.com/tutorials/tutorial-five-javascript.html
    - rabbitmq.com/tutorials/tutorial-six-javascript.html
    - enterpriseintegrationpatterns.com/patterns/messaging
    - concrete.com.br/2012/01/23/introducao-a-mensageria

    View Slide

  39. referências_
    - imasters.com.br/devsecops/mensageria-nao-e-um-bicho-
    de-7-cabecas
    - dzone.com/articles/which-are-the-iot-messaging-protoco
    ls

    View Slide

  40. /khaosdoctor @_staticvoid
    lsantos.dev @khaosdoctor
    obrigado_

    View Slide