outboxen

module
v0.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2023 License: MIT

README

outboxen

Go Reference

Outboxen is a library for implementing the transactional outbox pattern in Go.

I found that there weren't many libraries for implementing this in Go, and the ones that did exist made different design trade-offs than I would make.

For an example using MySQL via GORM, see the outboxen-gorm example here.

Features

  • Makes no assumptions about your storage mechanism, you provide:
    • A way to atomically claim entries in storage for a given processor
    • A way to retrieve entries claimed by a given processor
    • A way to delete entries
  • Compatible with horizontal scaling
    • Safely claims outbox entries for publishing, with a deadline for gracefully tolerating failures
  • Designed not to interfere with the transactional part of "transactional outbox pattern"
    • It does not create transactions for you
    • You write entries to your outbox storage in the same transaction as your state modification

Drivers

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL