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

Reactive Web Architectures

Reactive Web Architectures

Dynatrace Brown-Bag Session

SQUER Solutions

September 24, 2020
Tweet

More Decks by SQUER Solutions

Other Decks in Technology

Transcript

  1. Reactive
    Web Architectures
    Dynatrace Brown-Bag Session
    24.09.2020

    View Slide

  2. David Leitner
    Coding Architect
    [email protected]
    duffleit

    View Slide

  3. reactive
    programming with, or designing
    upon, asynchronous data streams.

    View Slide

  4. Space
    Time
    Collections
    Iterator Generator
    Value
    Getter Setter
    Promise
    Deferred Resolver
    Stream
    Reader Emitter

    View Slide

  5. The relationship between them is implicit, an idea that only exists in the
    mind of the programmers. It should be explicit, a part of the language,
    and existing for all time. Counter and Double should be bound.
    = the Destiny Operator

    View Slide

  6. Stream
    Caller
    Receiver
    Caller Receiver
    propagate change
    observe change
    trigger change
    directly
    The reactive programming paradigm is based on asynchronous
    streams which propagate change. This differs from imperative
    programming, where statements are used to change a program’s state.

    View Slide

  7. View Slide

  8. UserImage .
    Username
    Click Stream
    User Data Stream
    Error Stream
    Error Panel
    observes
    observes
    Http Service

    View Slide

  9. IS THE NEW

    View Slide

  10. The Reactive Manifesto
    Message
    Driven
    Responsive
    Elastic Resilient
    Value
    Form
    Means
    Maintainability Extendibility

    View Slide

  11. Microservice A
    Microservice B
    Message
    Driven
    Responsive
    Elastic Resilient
    Value
    Form
    Means

    View Slide

  12. Microservice A
    Microservice B
    Message
    Driven
    Responsive
    Elastic Resilient
    Value
    Form
    Means
    Microservice B

    View Slide

  13. Microservice A
    Microservice B
    Message
    Driven
    Responsive
    Elastic Resilient
    Value
    Form
    Means
    Microservice B
    Stream

    View Slide

  14. Microservice A
    Microservice B
    Message
    Driven
    Responsive
    Elastic Resilient
    Value
    Form
    Means

    View Slide

  15. Message
    Driven
    Responsive
    Elastic Resilient
    Value
    Form
    Means
    Microservice A
    Stream
    Microservice B

    View Slide

  16. We support
    Back-Pressure Stream
    Provider Consumer
    events are stored until
    consumed
    Stream
    Provider Consumer A
    Consumer C
    Consumer B
    scaling out consumers
    We can scale-out
    by Location Transparency

    View Slide

  17. We move from a
    pull-based design,
    to an asynchronous
    push-based design.

    View Slide

  18. GraphQL
    Consumer Driven APIs
    Native Schema Support
    Streaming Support

    View Slide

  19. Microservice A
    Microservice B
    Microservice C
    Web Application
    Stream
    Stream

    View Slide

  20. Microservice A
    Microservice B
    Microservice C
    Web Application
    Stream
    BFF
    HTTP
    Mobile App
    BFF
    Hydration

    View Slide

  21. Lambda A
    Lambda B
    Lambda C
    Client
    Event Stream
    BFF
    Hydration
    Stateful
    3 Factor Architecture
    Factor #1: Realtime GraphQL
    Factor #2: Reliable eventing
    Factor #3: Async serverless

    View Slide

  22. This stuff is cool,
    but think twice (!) if reactive
    architectures really fit your
    problem at hand.

    View Slide

  23. View Slide

  24. View Slide

  25. supports
    15% off with dynatrace15.

    View Slide