* Fix some broken links * Remove extra space * Update filename * Fix some links in localization folders * Fix link Co-authored-by: Subhrodip Mohanta <hello@subho.xyz>
37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
---
|
|
layout: pattern
|
|
title: Event Driven Architecture
|
|
folder: event-driven-architecture
|
|
permalink: /patterns/event-driven-architecture/
|
|
categories: Architectural
|
|
language: en
|
|
tags:
|
|
- Reactive
|
|
---
|
|
|
|
## Intent
|
|
Send and notify state changes of your objects to other applications using an Event-driven Architecture.
|
|
|
|
## Class diagram
|
|

|
|
|
|
## 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
|
|
|
|
* 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
|
|
|
|
* [Event-driven architecture - Wikipedia](https://en.wikipedia.org/wiki/Event-driven_architecture)
|
|
* [What is an Event-Driven Architecture](https://aws.amazon.com/event-driven-architecture/)
|
|
* [Real World Applications/Event Driven Applications](https://wiki.haskell.org/Real_World_Applications/Event_Driven_Applications)
|
|
* [Event-driven architecture definition](http://searchsoa.techtarget.com/definition/event-driven-architecture)
|