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

Event-Driven Architecture

Event-Driven Architecture

Evandro Mohr

May 14, 2019
Tweet

More Decks by Evandro Mohr

Other Decks in Technology

Transcript

  1. 1
    EVENT-DRIVEN
    ARCHITECTURE

    View full-size slide

  2. 1.
    The quest for
    scalability
    2
    A tale of a company...

    View full-size slide


  3. 3
    Scalability is the property of a
    system to handle a growing amount
    of work by adding resources to the
    system.

    View full-size slide

  4. 4
    Scalability Development
    ● New features
    ● Continuous Deployment
    ● New team members
    ● New technologies
    Software
    ● Usage
    ● Concurrency
    ● Stored data
    ● Availability

    View full-size slide

  5. Scalability
    cube
    5

    View full-size slide

  6. Monolithic
    Application
    6

    View full-size slide

  7. Monolithic
    Application
    7

    View full-size slide

  8. SOA
    Approach
    8

    View full-size slide

  9. Virtualized
    SOA
    Approach
    9

    View full-size slide

  10. Orchestrated
    &
    Virtualized
    SOA
    Approach
    10

    View full-size slide

  11. 2.
    Microservices
    11
    The silver bullet...

    View full-size slide

  12. Microservices
    Approach
    12

    View full-size slide

  13. Microservices
    &
    API Gateway
    Approach
    13

    View full-size slide

  14. Microservices
    &
    API Gateway
    Approach
    14

    View full-size slide

  15. EVENT SOURCING
    15

    View full-size slide


  16. 16
    Event Sourcing ensures that all changes to
    application state are stored as a sequence of
    events. Not just can we query these events, we can
    also use the event log to reconstruct past states,
    and as a foundation to automatically adjust the
    state to cope with retroactive changes.
    - Martin Fowler

    View full-size slide

  17. Log-
    Structured
    Approach
    17

    View full-size slide

  18. Event-Driven
    Architecture
    20
    ▪ 100% accurate audit logging
    ▪ Easy temporal queries
    ▪ Asynchronous communication
    ▪ Data Consistency
    ▪ Data recovery
    ▪ Horizontal scaling
    ▪ Loosely coupled services
    ▪ Act as Message Broker
    ▪ Idempotence

    View full-size slide

  19. Event-Driven
    Architecture
    21

    View full-size slide

  20. Microservices
    &
    Event
    Sourcing
    Approach
    22

    View full-size slide

  21. Event
    Sourcing
    &
    Data streams
    Approach
    23

    View full-size slide

  22. Integrate
    Legacy
    Applications
    24

    View full-size slide

  23. A better
    Microservices
    Approach
    25

    View full-size slide

  24. Questions?
    26

    View full-size slide

  25. References
    27
    ● https://guidoschmutz.wordpress.com/
    ● http://microservices.io
    ● https://kafka.apache.org/
    ● https://martinfowler.com/eaaDev/EventSourcing.html
    https://www.confluent.io/blog/data-dichotomy-rethinking-the-way-we
    -treat-data-and-services/
    ● https://engineering.linkedin.com/distributed-systems/log-what-every-s
    oftware-engineer-should-know-about-real-time-datas-unifying
    ● https://medium.com/@hugo.oliveira.rocha/what-they-dont-tell-you-abo
    ut-event-sourcing-6afc23c69e9a

    View full-size slide

  26. Thank you very much
    for your time
    28

    View full-size slide