View Source on Github

Event Driven Architecture

Difficulty-Intermediate Java Reactive Architectural

Intent

Send and notify state changes of your objects to other applications using an Event-driven Architecture.

alt text

Applicability

Use an Event-driven architecture when

  • you want to create a loosely coupled system
  • you want to build a more responsive system
  • you want a system that is easier to extend

Real world examples

  • SendGrid, an email API, sends events whenever an email is processed, delivered, opened etc… (https://sendgrid.com/docs/API_Reference/Webhooks/event.html)
  • Chargify, a billing API, exposes payment activity through various events (https://docs.chargify.com/api-events)
  • Amazon's AWS Lambda, lets you execute code in response to events such as changes to Amazon S3 buckets, updates to an Amazon DynamoDB table, or custom events generated by your applications or devices. (https://aws.amazon.com/lambda)
  • MySQL runs triggers based on events such as inserts and update events happening on database tables.

Credits