Skip to content

Commit

Permalink
docs: add concurrency details for outbox pattern
Browse files Browse the repository at this point in the history
  • Loading branch information
Gi-jutsu committed Dec 21, 2024
1 parent c531c6c commit 8d99f9a
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,18 +51,20 @@ pnpm dev

## 🌟 Key Features

### 📬 At-Least-Once Outbox Pattern
### 📬 Outbox Pattern

- <b>Reliable Event Delivery</b>: Implements the outbox pattern to ensure events are reliably stored and dispatched.
- `in_development` <b>Transaction Safety</b>: Events are saved in the outbox as part of the same database transaction as aggregate updates, ensuring consistency.
- `in_development` <b>Background Processing</b>: A worker processes the outbox and guarantees eventual consistency.
- <b>Guaranteed Event Delivery</b>: ensure events are reliably stored and dispatched achieving at-least-once delivery.
- <b>Concurrency</b>: Leverages `REPEATABLE READ` isolation and `FOR UPDATE SKIP LOCKED` to ensure efficient and exclusive message processing, even under high load.
- `NOT_IMPLEMENTED` <b>Transaction Safety</b>: Events are saved in the outbox as part of the same database transaction as aggregate updates, ensuring consistency.

### 🐳 Docker-Ready

- <b>Optimized for Deployments</b>: Multi-stage build keeps the production image lean, reducing network footprint and speeding up deployments.

- <b>Run Locally:</b> Launch the entire stack (API + Database) with [docker-compose.yaml](/docker/docker-compose.yaml)

- <b>Security</b>: Runs as a non-root user to reduce security risks</b>

## 📂 Project Structure

```bash
Expand Down

0 comments on commit 8d99f9a

Please sign in to comment.