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