Push-Based Outbox Pattern with Postgres Logical Replication

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • mssql-changefeed

  • The author says the outbox pattern should "always" be used.

    I agree with the goal -- one should definitely never publish an event externally before it is committed to DB! But I think using a "post-commit sequence number" is even more powerful than the outbox pattern.

    Sadly few DBs seems to supoort this well with low latency. CosmosDB has great support for a post commit low latency change feed

    A hack for mssql is here:

    https://github.com/vippsas/mssql-changefeed/blob/main/MOTIVA...

    More about this way of publishing events:

    https://github.com/vippsas/zeroeventhub

  • marmot

    A distributed SQLite replicator built on top of NATS

  • Interesting approach, I use a very similar methodology in Marmot (https://github.com/maxpert/marmot) to do CDC for SQLite via triggers, and then these changes are published over NATS, replicated over to other nodes. So row-level replication powered by similar outbox except it uses NATS and JetStreams's quorum property to ensure reliable recovery.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • zeroeventhub

  • The author says the outbox pattern should "always" be used.

    I agree with the goal -- one should definitely never publish an event externally before it is committed to DB! But I think using a "post-commit sequence number" is even more powerful than the outbox pattern.

    Sadly few DBs seems to supoort this well with low latency. CosmosDB has great support for a post commit low latency change feed

    A hack for mssql is here:

    https://github.com/vippsas/mssql-changefeed/blob/main/MOTIVA...

    More about this way of publishing events:

    https://github.com/vippsas/zeroeventhub

  • rust-postgres

    Native PostgreSQL driver for the Rust programming language

  • rust-postgres

    Native PostgreSQL driver for the Rust programming language (by MaterializeInc)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts