The Outbox Pattern is based on Guaranteed Delivery pattern and looks as follows: When you save data as part of one transaction, you also save messages that you later want to process as part of the same transaction.
Questions tagged [outbox-pattern]
40 questions
4
votes
1 answer
Using SAGA pattern with Synchronous HTTP request
I was looking to understand how Saga Pattern using orchestration works.
In all references that I have found, It seems that each step needs to communicate using a asynchronous communication, like a queue or a event stream hub.
I was thinking if this…

p.magalhaes
- 7,595
- 10
- 53
- 108
3
votes
1 answer
Comparing CDC vs Outbox Pattern for creating event streams
I'm working on creating event streams using Outbox pattern. I would like to know why would one go for Outbox pattern instead of using CDC on the required tables?
Pros of using CDC directly:
The streams will always be in order because it does not…

Romil Punetha
- 31
- 1
- 3
3
votes
2 answers
Design / Implement Transactional Outbox pattern in schema isolated multitenant application
I have a multi-tenant application. The tenants data is isolated based on schema.
I want to implement a transactional outbox pattern, where I want to store the events in a table (in same transaction)and then send events later with a job.
I am…

Kumar
- 1,536
- 2
- 23
- 33
3
votes
1 answer
Transaction Outbox Pattern with AWS Aurora Postgres and aws_lambda.invoke
I am working on a project which is made out of a couple of microservices. I am planning to use Transaction Outbox Pattern by calling a lambda function in Postgres after insert trigger.
I am thinking something like this
CREATE OR REPLACE FUNCTION…

Optimus
- 1,703
- 4
- 22
- 41
3
votes
0 answers
Use Avro as the Data Format for Outbox Pattern using MySQL Debezium Connector
I am using debezium MySQL to achieve outbox pattern. In my payload column, I am using Avro and I convert Avro into byte so that I can store the avro data into MySQL database. If I want to do the schema evolution in the future, I am wondering where…

Shan
- 177
- 3
- 12
2
votes
1 answer
Outbox pattern - Message Relay without duplicates and unordering for any SQL and NoSQL DB
Dual write is a problem when we need to change data in 2 systems: a database (SQL or NoSQL) and Apache Kafka (for example).
The database has to be updated and messages published reliably/atomically.
Eventual consistency is acceptable but…

Eugene Khyst
- 9,236
- 7
- 38
- 65
2
votes
1 answer
Debezium outbox pattern | is schema is fixed with SMT/outbox table if we use debezium
Debezium with outbox pattern
Setting the context:
Using
We wanted to use schema registry to store all event schemas for different business entities
One topic can have multiple version of same schema
One topic can have entirely different schema…

jitender sharma
- 171
- 4
2
votes
1 answer
How does Mass Transit handle retries deduplication and message id generation when using in-memory outbox
Mass Transit has an in-memory "outbox" implementation that I think will handle the majority of the concerns / challenges I am looking to over come however I can not find a lot of documentation that describes its capabilities in the detail I am…

Matt M
- 592
- 1
- 5
- 27
1
vote
0 answers
Creating an event driven architecture using Django
I would like to create an event driven architecture in Django. Every time a database record is created, updated or deleted, i would like to create and event, posting it to a queue ( like kafka, sqs, or something similiar).
I know that Django has a…

p.magalhaes
- 7,595
- 10
- 53
- 108
1
vote
1 answer
Masstransit transactiona outbox + Masstransit mediator
I am trying to use the Masstransit library, implementing the mediator provided by Masstransit to communicate my controller layer with the application layer, and also adding the transactional outbox pattern, but executing my project, when I use the…
1
vote
1 answer
Use MassTransit transactional outbox to update db and send multiple (batched) mails
Consider the following code:
private readonly IEmailSender _emailSender;
public async Task Consume(ConsumeContext context) // UserCreated is an event from a separate system
{
await _dbContext.User.AddAsync(new UserAggregate {…

Ilias Dewachter
- 13
- 1
- 4
1
vote
1 answer
MassTransit Transactional Outbox Isolation Level per Consumer
I have a consumer where I begin a serializable transaction.
public class Consumer : IConsumer
{
public async Task Consume(ConsumeContext context)
{
using var transaction =…

JoaoVelho
- 17
- 2
1
vote
1 answer
How is Apache Camel making sure there are no two masters?
My starting point is the actually the outbox pattern.
To make sure the message in an outbox in only relayed once we only have one replica of the outbox service available in our k8s cluster. To be super sure, the deployment strategy of this service…

Moritz Schmitz v. Hülst
- 3,229
- 4
- 36
- 63
1
vote
2 answers
Postgresql Prune replicated data from outbox table
Problem Statement
In order to ensure disk size isn't growing unnecessary, I want to be able to delete rows that have been replicated from my outbox table.
Context
Postgres is at v12
We are using a Kafka source connector to stream changes made to a…

MattyIceDev
- 116
- 1
- 3
1
vote
2 answers
Is it possible to implement transactional outbox pattern for only RabbitMQ publish fail scenarios
I have a system that uses mongoDB as persistence and RabbitMQ as Message broker. I have a challenge that I only want to implement transactional outbox for RabbitMQ publish fail scenarios. I'm not sure is it possible because, I also have consumers…

sercanD
- 187
- 1
- 13