Categorygithub.com/kamal-github/outbox
modulepackage
0.4.0
Repository: https://github.com/kamal-github/outbox.git
Documentation: pkg.go.dev

# README

Github Go Reference Go Report Card

Outbox

An implementation of Transactional outbox pattern for reliable publishing the messages.

Infrastructure support

Currently, outbox worker can fetch outbox rows from below mentioned DB.

  • Postgres
  • MySQL

and can publish messages to below mentioned PubSub systems

  • Amazon SQS
  • RabbitMQ

Installation

go get github.com/kamal-github/outbox

Usage

Please have a look at the well commented examples

Contribution

To run tests, run blow command, it will fetch all the prerequisites and run the tests.

make test

Pull requests are welcome. Please fork it and send a pull request against main branch. Make sure to add tests ;)

License

This project is licensed under the MIT license.

# Packages

Package datastore contains datastore implementation for outbox.
Package event contains details related to event defined as Outbox Row in Datastore.
Package pubsub contains various implementation for event dispatcher.
Package test contains integration tests and related configuration.

# Structs

Worker is the outbox worker which runs repeatedly until asked to stop.