https://github.com/jokk-itu/masstransit-outbox-sample
Testing the new Transactional Outbox from the MassTransit framework.
https://github.com/jokk-itu/masstransit-outbox-sample
csharp masstransit mssql-database outbox-pattern rabbitmq transactional-outbox-pattern
Last synced: 28 days ago
JSON representation
Testing the new Transactional Outbox from the MassTransit framework.
- Host: GitHub
- URL: https://github.com/jokk-itu/masstransit-outbox-sample
- Owner: jokk-itu
- License: apache-2.0
- Created: 2022-06-30T09:41:24.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-06-30T10:53:33.000Z (almost 4 years ago)
- Last Synced: 2025-07-06T23:02:36.708Z (11 months ago)
- Topics: csharp, masstransit, mssql-database, outbox-pattern, rabbitmq, transactional-outbox-pattern
- Language: C#
- Homepage:
- Size: 12.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MassTransit-Outbox-Sample
Testing the new Transactional Outbox from the MassTransit framework.
## Introduction
The project is created to test out the new Outbox implementation in MassTransit.
It uses EF Core as abstraction on MSSQL to handle the outbox behaviour.
It has been setup with both outbox to eliminate dual write behaviour, and inbox to enable idempotent consumers.
To test the behaviour, four endpoints are exposed in an API.
```
/publish/outbox/ef
/send/outbox/ef
/publish
/send
```
The outbox endpoints use the outbox behaviour to send/publish messages to RabbitMQ, and then inbox behaviour for the consumer.
The others simply send and publish events directly to RabbitMQ without outbox/inbox behaviour.
## How to run
The project serves the system using docker-compose, and uses an API, MSSQL and RabbitMQ.
It can be run using the commandline tool -> docker-compose up
Or through Visual Studio, since there is an accompanying docker-compose.dcproj file.
Just set the docker-compose project as starting project in Visual Studio, and you are good to go.
Navigate to the API on http://localhost:5000/swagger/index.html