Skip to content

chadgolden1/MassTransitOutboxScaleout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MassTransitOutboxScaleout

Trying out some scenarios with MassTransit's Transactional Outbox.

This sample is inspired heavily by the MassTransit sample transactional outbox application.

How to run (Docker)

This will spin up a SQL Server, RabbitMQ, create the database, and run the entire sample.

docker compose up --build

Run with multiple sweepers

docker compose up --build --scale sweeper=4

Architecture

This simple application uses the Producer to write messages to the outbox. A separate Sweeper service polls the messages written to the outbox table, and delivers them to the broker (RabbitMQ). The Consumer simply consumes the messages.

Projects:

  • Producer: Publishes a handful of notify-registration messages every second to the transactional outbox
  • Sweeper: Polls the outbox table and delivers messages from the transactional outbox to the broker
  • Consumer: Consumes notify-registration messages
  • CreateDb: Ensures a fresh copy of the Registration database is created prior to running the other services

About

Trying the MassTransit transactional outbox

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages