Skip to content

rebus-org/RebusSamples

Repository files navigation

Welcome to the Rebus Samples repository

Check out

  • Time printer - simple program that sends a message to itself every second
  • Email sender - simple email sender that functions as a good example on how to queue up work
  • Native Pub/sub sample - demonstrates how pub/sub can be wired up when the transport has native support for it (in this case using Azure Service Bus)
  • Centralized Pub/sub sample - demonstrates how pub/sub can be wired up, using SQL Server as a "centralized subscription storage"
  • Pub/sub sample - demonstrates how pub/sub can be wired up
  • Integration sample - demonstrates how calling an external web service can be made more robust
  • Unit of work sample - demonstrates how a proper unit of work can be hooked into Rebus in all the right places
  • Rabbit MQ topics sample - demonstrates how Rebus' low-level topics API can be used with the RabbitMQ transport to do pub/sub with wildcards
  • OWIN Web Host - demonstrates how Rebus can be configured to host an OWIN endpoint
  • Showdown - sample that can send/receive a bunch of messages and measure the time it takes
  • Sagas - sample that shows a saga
  • SimpleInjector - sample that shows how SimpleInjector works with Rebus
  • Logging - sample with various types of logging
  • SqlAllTheWay - sample that demonstrates "exactly once delivery" with SQL transport and user work enlisted in same transaction
  • MessageBus - demonstrates how tree totally independent endpoints can do pub/sub with a central database being their only connection
  • RequestReply - demonstrates how a client can send a request to a server, which then can reply back to the client
  • SharedNothing - demonstrates how a publisher and a subscriber can communicate without sharing class libraries or anything

Scaleout samples

  • Rabbit scaleout - demonstrates how work can be easily distributed among a cluster of workers when working with RabbitMQ
  • SQL Server scaleout - demonstrates how work can be easily distributed among a cluster of workers when working with SQL Server as the transport
  • PostgreSQL scaleout - demonstrates how work can be easily distributed among a cluster of workers when working with PostgreSQL as the transport

F# Samples

  • Onboarding saga - demonstrates how to work with Rebus in F#, showing an entry-point Web API and a backend saga with a timeout and compensating actions.

Deprecated

  • User context sample - shows how an ambient user context can be passed along with messages
  • MSMQ scaleout - demonstrates how work can be distributed among a cluster of workers when working with MSMQ and Rebus' MSMQ distributor