Skip to content
kode4foodPublic

Latest commit

 

History

229 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Timebox

Build Status Code Coverage Maintainability GitHub

Timebox is a small, opinionated event sourcing library for Go with append-only event storage, optimistic concurrency, snapshotting, durable message scheduling, and durable queues. It supports Redis, PostgreSQL, or Raft as its persistence backend.

Documentation

  • Getting started explains how to install Timebox and execute a command.
  • Order tutorial builds an application using aggregates and transactions.
  • Aggregates and events covers identities, payloads, and appliers.
  • Transactions shows how to commit changes across aggregates.
  • Scheduler explains how to deliver messages at a durable deadline.
  • Queues explains how to publish and consume durable, ordered messages.
  • Snapshots explains how to load state without replaying its full history.
  • Indexing covers queries by aggregate status and tags.
  • Archiving shows how to remove finished aggregates from live storage and export their records.
  • Backends helps you choose and configure persistence.
  • Production patterns covers the structure of a long-running service.

The order example shows an aggregate lifecycle using Redis.

Status

Work in progress. Not ready for production use.

Releases

Packages

Used by

Contributors

Languages