-
-
Notifications
You must be signed in to change notification settings - Fork 362
Message auditing
Rebus can be configured to perform "message auditing", which is the process of taking a copy of all messages. This may sound like a daunting task, but it isn't, because messages can only "disappear" in two places:
- When they have been properly handled
- When they have been published and there were 0 subscribers
In general, a publisher does not know the number of subscribers (because the transport might implement multicast natively), so the safe way of auditing messages is to send a copy of
- each properly handled transport message with the
rbs2-audit-reason
header set tohandled
- each published transport message with the
rbs2-audit-reason
header set topublished
to the configured audit queue. A few additional headers with audit information will be added to the message copy.
In order to enable message auditing, use the Rebus configuration API like this:
Configure.With(adapter)
.Transport(t => t.UseMsmq("server.input"))
.(...)
.Options(b => b.EnableMessageAuditing("audit@cpvm010"))
.(...)
in order to send audited messages to the audit
queue on the machine cpvm010
(assuming MSMQ here).
Basic stuff
- Home
- Introduction
- Getting started
- Different bus modes
- How does rebus compare to other .net service buses?
- 3rd party extensions
- Rebus versions
Configuration
Scenarios
Areas
- Logging
- Routing
- Serialization
- Pub sub messaging
- Process managers
- Message context
- Data bus
- Correlation ids
- Container adapters
- Automatic retries and error handling
- Message dispatch
- Thread safety and instance policies
- Timeouts
- Timeout manager
- Transactions
- Delivery guarantees
- Idempotence
- Unit of work
- Workers and parallelism
- Wire level format of messages
- Handler pipeline
- Polymorphic message dispatch
- Persistence ignorance
- Saga parallelism
- Transport message forwarding
- Testing
- Outbox
- Startup/shutdown
Transports (not a full list)
Customization
- Extensibility
- Auto flowing user context extensibility example
- Back off strategy
- Message compression and encryption
- Fail fast on certain exception types
Pipelines
- Log message pipelines
- Incoming messages pipeline
- Incoming step context
- Outgoing messages pipeline
- Outgoing step context
Prominent application services