https://github.com/eddmann/serverless-transactional-outbox-pattern
Exploration into ways that we can implement the Transactional outbox pattern within a Serverless setting.
https://github.com/eddmann/serverless-transactional-outbox-pattern
Last synced: 6 months ago
JSON representation
Exploration into ways that we can implement the Transactional outbox pattern within a Serverless setting.
- Host: GitHub
- URL: https://github.com/eddmann/serverless-transactional-outbox-pattern
- Owner: eddmann
- Created: 2024-06-13T18:58:08.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-14T11:46:47.000Z (about 2 years ago)
- Last Synced: 2025-01-23T03:26:41.612Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 73.2 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Serverless Transactional Outbox Pattern
Exploration into ways that we can implement the [Transactional outbox pattern](https://microservices.io/patterns/data/transactional-outbox.html) within a Serverless setting.
- [Relational Database - Polling Worker](./relational-database-polling-worker/)
- [DynamoDB Streams - Change Data Capture](./dynamodb-streams-change-data-capture/)
## Unexplored alternatives
- **Relational Database - Lambda Trigger:** within Postgres we could use `LISTEN`/`NOTIFY` to invoke a [Lambda function](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL-Lambda.html) once the transaction has been successfully committed, so as to publish the events to EventBridge.
- **Single-Table DynamoDB Streams - Change Data Capture:** - Using a single-table DynamoDB design (or if you do not want to use a multi-table transaction), we could store an `event` property within the inserted/updated record which is then used to publish events to the EventBridge.