Skip to content

Go Transactional Outbox Pattern for Postgres and Kafka

License

Notifications You must be signed in to change notification settings

iwanjunaid/pokabox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pokabox

Pokabox is Go transactional outbox pattern implementation for Postgres and Kafka.

For another implementation for MongoDB and Kafka, please see Mokabox.

Table of Contents

How It Works?

TODO

Getting Started

  1. Create outbox table
CREATE TABLE outbox(
  id            UUID PRIMARY KEY,
  group_id      UUID NOT NULL,
  kafka_topic   VARCHAR(255) NOT NULL,
  kafka_key     VARCHAR(255) DEFAULT NULL,
  kafka_value   TEXT NOT NULL,
  priority      INT DEFAULT 1000,
  status        VARCHAR(4) DEFAULT 'NEW',
  version       INTEGER DEFAULT 1,
  created_at    TIMESTAMP NOT NULL,
  sent_at       TIMESTAMP DEFAULT NULL
);

Events Handling

TODO

About

Go Transactional Outbox Pattern for Postgres and Kafka

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages