Example: full app with NATS JetStream store (distributed, scalable) #29

Open
opened 2026-02-19 22:28:40 +00:00 by ash · 0 comments
Owner

What

Complete working example app using NATS JetStream store. Full distributed deployment.

Must Demonstrate

  • All 3 event modeling patterns
  • JetStream stream with subject-per-entity
  • Atomic batch publish (NATS 2.12)
  • Distributed CommandBus via NATS queue groups
  • Single writer per stream across cluster
  • Competing projections via durable pull consumers
  • OCC via ExpectedLastSubjectSequence
  • Watch (live subscription) with catch-up
  • TodoList automation pattern
  • Multi-instance scaling: add/remove nodes dynamically
  • GDPR crypto-shredding
  • Schema evolution
  • HTTP API + SSE live updates

Deployment

  • docker-compose with 3-node NATS cluster + 3 app instances
  • Or connect to existing NATS

Why

This is the "full scale" example. Shows everything eskit can do with NATS.

## What Complete working example app using NATS JetStream store. Full distributed deployment. ## Must Demonstrate - All 3 event modeling patterns - JetStream stream with subject-per-entity - Atomic batch publish (NATS 2.12) - Distributed CommandBus via NATS queue groups - Single writer per stream across cluster - Competing projections via durable pull consumers - OCC via ExpectedLastSubjectSequence - Watch (live subscription) with catch-up - TodoList automation pattern - Multi-instance scaling: add/remove nodes dynamically - GDPR crypto-shredding - Schema evolution - HTTP API + SSE live updates ## Deployment - docker-compose with 3-node NATS cluster + 3 app instances - Or connect to existing NATS ## Why This is the "full scale" example. Shows everything eskit can do with NATS.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ash/eskit#29
No description provided.