DPC2019: Event driven development - Chris Riley

"Learn the principles of event-driven development and how it can improve system scalability, flexibility, and resilience, with real-world examples and code demonstrations."

Key takeaways
  • A process manager is responsible for handling payments, but it can also be responsible for event handling.
  • Event-driven development (EDD) is a way of building systems that respond to events rather than requests.
  • EDD allows for more flexibility and scalability than traditional request-response systems.
  • Aggregates are the core concept in EDD, representing a concept or entity in the system that can be modified.
  • An aggregate can be thought of as an object that represents a concept, and it can be used to encapsulate logic and rules.
  • Projections are used to store the state of an aggregate in a read-only format, allowing for querying and retrieval of data.
  • Event listeners are used to handle events, and they can be thought of as objects that respond to events.
  • Event sourcing is a technique used in EDD to record all the events and commands that have occurred in a system.
  • Projections are used to store the state of an aggregate in a read-only format, allowing for querying and retrieval of data.
  • EDD can be used to build systems that are more scalable and flexible than traditional request-response systems.
  • EDD can be used to build systems that are more resilient to failures, as events can be replayed and processed in the event of a failure.
  • EDD can be used to build systems that are more maintainable, as events and aggregates can be modified independently of each other.