-
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
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
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.
-
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
-
-
-
Sevalla
Deploy and host your apps and databases, now with $50 credit! Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!