Software Architecture - MacKittipat/note-developer GitHub Wiki

Event-driven architecture

  • Uses events to trigger and communicate between decoupled services.
  • Have three key components: event producers, event routers, and event consumers.
  • Producer services and consumer services are decoupled, which allows them to be scaled, updated, and deployed independently.
  • Decouple services by using event to trigger communication between them

Event-driven architecture models

  • Pub/sub model
  • Event streaming model

Benefit

  • Scale and fail independently
  • No point-to-point integrations. It's easy to add new consumers to the system.

Trade off

  • Eventual consistency

References