Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Reactive Web Architectures

Reactive Web Architectures

Dynatrace Brown-Bag Session

E6c61f085d7aceaf97b7bd00e9195514?s=128

SQUER Solutions

September 24, 2020
Tweet

Transcript

  1. Reactive Web Architectures Dynatrace Brown-Bag Session 24.09.2020

  2. David Leitner Coding Architect david.leitner@squer.at duffleit

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

  4. Space Time Collections Iterator Generator Value Getter Setter Promise Deferred

    Resolver Stream Reader Emitter
  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
  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.
  7. None
  8. UserImage . Username Click Stream User Data Stream Error Stream

    Error Panel observes observes Http Service
  9. IS THE NEW

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

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

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

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

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

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

    Stream Microservice B
  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
  17. We move from a pull-based design, to an asynchronous push-based

    design.
  18. GraphQL Consumer Driven APIs Native Schema Support Streaming Support

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

  20. Microservice A Microservice B Microservice C Web Application Stream BFF

    HTTP Mobile App BFF Hydration
  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
  22. This stuff is cool, but think twice (!) if reactive

    architectures really fit your problem at hand.
  23. None
  24. None
  25. supports 15% off with dynatrace15.