NServiceBus

NServiceBus, the heart of the system, is a messaging and workflow framework that helps create distributed systems that are scalable, reliable and easy to modify. It supports various messaging patterns, handles long-running business processes in the form of sagas and provides abstraction over multiple queuing technologies. While most queuing technologies try to make guarantees regarding 'at least once' or even 'exactly once' delivery, they often fall short of this promise. NServiceBus contains mechanisms to automatically solve intermittent delivery problems by retrying messages and falling back to an error queue where they can be exposed by the rest of the Platform for human intervention (ServiceControl, ServicePulse).

Moreover, NServiceBus is thoroughly extensible and can be tailored for many requirements. It is compatible with several technologies and many elements of the system can be replaced with custom implementations.

Related Articles

  • Concepts Overview
    A high level feature and concept overview of NServiceBus.
  • Outbox
    How to configure NServiceBus to provide reliable messaging without using MSDTC or when MSDTC is not available.
  • Scheduling
    Schedule a task or an action/lambda, to be executed repeatedly at a given interval.
  • Testing NServiceBus
    Develop service layers and long-running processes using test-driven development.

Overview

NServiceBus compared to WCF and BizTalk.

  • NServiceBus and BizTalk
    NServiceBus guides away from dangerous anti-patterns while providing messaging patterns and integration.
  • NServiceBus and WCF
    Publish/subscribe, fault-tolerance, long-running processes, interoperability.
  • Architectural Principles
    NServiceBus helps write code that is robust in production environments, preventing data loss under failure conditions.

NServiceBus and Azure

Using Azure for endpoint hosting and to provide Transports and Persistence.

Azure Service Bus Transport

Azure Storage Persistence

Using Azure Storage as persistence.

Azure Storage Queues Transport

Using Azure Storage Queues as transport.

Containers

NServiceBus automatically registers components, user-implemented handlers, and sagas.

Endpoints

Describe the concepts of Endpoint and Endpoint Instance.

Error handling

Don't try to handle exceptions in the message handlers. Let NServiceBus do it for you.

Gateway

NServiceBus enables durable fire-and-forget messaging across physically separated IT infrastructure.

Handling a Message

Write a class to handle messages in NServiceBus.

Hosting

Outlines the various approaches to hosting NServiceBus.

NServiceBus Licensing

Outlines the usage, management and restrictions of the NServiceBus license.

Interface life-cycles

The life-cycles of the various NServiceBus configuration interfaces.

Logging in NServiceBus

Manage and integrate with NServiceBus logging.

Messaging

Outline the various approach to sending-receiving, defining messages and common messaging patterns.

MSMQ Transport

MSMQ is the primary durable communications technology for Microsoft but does not dynamically detect network interfaces.

NHibernate Persistence

NHibernate-based persistence for NServiceBus.

Operations

Operations Table of Contents.

Persistence In NServiceBus

Features of NServiceBus requiring persistence include timeouts, sagas, and subscription storage.

Message Handling Pipeline

Overview of the message handling pipeline.

RabbitMQ Transport

RavenDB Persistence

Sagas

NServiceBus uses event-driven architecture to include fault-tolerance and scalability in long-term business processes.

Scalability and HA

Scalability and High Availability options for NServiceBus.

Security

Security Table of Contents.

Serialization In NServiceBus

How instances of .NET classes are serialized onto the transport.

SQL Server Transport

High-level description of NServiceBus SQL Server Transport.

Transports

NServiceBus Upgrade Guides


Last modified