Skip to main content

InterBus Concepts

This page defines the core messaging concepts and links to deeper reliability pattern docs.

Core messaging concepts

ConceptDefinition
MessageA serializable contract (usually a .NET type) that represents business intent or state change
ConsumerA component that handles a specific message type via IConsumer<T>
PublisherA component that emits messages via IPublisher
TopicA publish/subscribe channel where each published message is fanned out to all subscribed consumer queues
QueueA point-to-point channel that delivers a message to one target consumer pipeline
Routing conventionDeterministic rules that map message and consumer types to topic and queue names
Message pumpThe receive loop that reads messages from queues and dispatches them to consumers

Delivery and processing concepts

ConceptDefinition
PublishPublish<T>(message) sends a message to a topic so all subscribers can process it
SendSend<TConsumer, T>(message) sends a message directly to one consumer queue
Request/replyIRequestClient<TRequest,TReply> sends a request and waits for one typed reply via a temporary reply endpoint
Consumer middlewareOrdered processing steps around consumer execution (for cross-cutting concerns like retries, logging, and policies)
RetryA policy that re-attempts failed message handling before giving up
Dead-letterA terminal destination for messages that cannot be processed successfully
IdempotencyThe ability to process duplicate deliveries safely without changing the final outcome

Reliability patterns and consistency concepts

ConceptDefinition
OutboxA producer-side reliability pattern for atomic domain write + message buffering, then asynchronous delivery
InboxA consumer-side reliability pattern for duplicate-detection and safe re-delivery handling
SagaA long-running workflow that coordinates multiple message exchanges and state transitions
Saga statePersisted state associated with a saga instance across message boundaries
SchedulerA service that arranges delayed or time-based message publication/dispatch
TransportThe broker implementation responsible for moving bytes between publishers and consumers (for example in-memory, SQS/SNS, Service Bus, RabbitMQ, PostgreSQL)

Pattern deep dives