Skip to content

mgibowski/kafkaesque

 
 

Repository files navigation

Kafkaesque

Kafkaesque is a transactional outbox built for PostgreSQL and, primarily, Kafka.

  • Transactional safety for messages: if they were created, they will be eventually published. They're only created if the transaction commits
  • Ordering: messages are published sequentially for topic/partition combinations
  • Shutdown safety: has graceful shutdown and rescue for cases where it doesn't happen.
  • Observability: all operations publish telemetry events
  • Garbage collection: outbox table is periodically cleaned

Basic diagram

Installation

Add :kafkaesque to the list of dependencies in mix.exs:

def deps do
  [
    {:kafkaesque, "~> 1.0-rc.0"}
  ]
end

Getting started

Check the Getting started guide in Hexdocs.

About

Transactional outbox for Kafka

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 98.8%
  • Shell 1.2%