The .NET Service Platform
Messaging & Workflow
Build better .NET service solutions using an integrated and comprehensive platform. Focus on developing your solution's unique features, while enjoying the out-of-the-box benefits of the Particular Service Platform
Service Platform benefits
Reliable transports A selection of reliable transports providing multiple options for transactional store-and-forward and broker pattern messaging (MSMQ, SQL Server transports and more).
See connection string samples →
Exception handling Built-in exception handling logic surrounds all calls to user code. When an exception occurs, NServiceBus rolls back the database transaction and also returns the message to the queue, also undoing any messages requested to be sent or published.
How to handle exceptions →
Automated Retries Automated retry built-in, configurable and highly efficient. Immediate Retries (fast retries within the transaction) and Delayed Retries (cascading delays, for 10, 20 and 30 seconds) provide an out-of-the-box way to overcome intermittent connection and availability issues. More about Retries →
Reliable storage Reliable storage for failing and failed messages. Persistent storage with transactional support using Error and Retries queues, reliably stores any message that is undergoing retries or, after automated retry actions have been exhausted, stores the message in a persistent Error queue.
More about Persistence →
Failure Notifications Message failure notification and alerting via Production Monitoring. Near real-time indication and alerting when messages fail processing, including full message details, failure stacktrace, message context interaction visualization and more. More about failed messages →
Reliable DevOps Tooling After identifying and fixing root cause of processing failure, Ops and DevOps personnel can send a message to be re-processed with easy to use tools. Intro to Endpoints and Heartbeats →
Failure Detection Endpoint failure detection and alerting via production monitoring. Endpoint heartbeat monitoring and alerting enables you to identify when an endpoint is not able to send message or communicate, raising indicator alerts and notifications.
Intro to failed message monitoring →
Custom Checks Define and check custom conditions that your solution depends upon, and monitor and alert when these conditions are not met using the integrated Custom Checks feature supported by NServiceBus endpoints and Particular Software production monitoring tools. How to develop custom checks →
Carl Lindelöf - System Architect, Ebay Sweden
NServiceBus was embedded in several conduit subsystems. The framework proved itself as a reliable and robust infrastructure for our runtime load-intensive production distributed environment. NServiceBus is straightforward to use, easy to configure, adapts for specific needs and contains great features (Saga, Distributer and more) that are very useful and powerful.
Misha Haron - Software Engineer, Conduit
Elegant API Driven by best practices and industry leading patterns, the NServiceBus API leads developers, both new and experienced, to write highly maintainable solutions. No complex structures, mysterious schemas or puzzling code hacks - just POCO message contracts and intuitive .NET. Get started with NServiceBus →
Publish/Subscribe Dependency between message senders and receivers is practically eliminated with Event Driven Architecture communication patterns where both publisher and subscriber are not dependent on each other, but are only aware of the event itself. Combined with asynchronous messaging this provides a loosely coupled and highly maintainable solution architecture. How Pub/Sub works →
Visualize runtime behavior A detailed display of your solution behavior at runtime with ServiceInsight (including messages flow, endpoints interacting, performance and under-the-hood message data and metadata) dramatically reduces the complexity and improves understanding, managing and developing modern applications. Any change in behavior is clearly visible, visualized and detailed, on-demand and in near-real-time.
See ServiceInsight overview →
Vizualize long-running processes Get powerful insights into the behavior of long running processes and workflow with the ServiceInsight Saga View, providing complete under-the-hood details on data and metadata changes and full interaction details. Learn about Saga view →
Failure detection and debugging Integrate the power of production monitoring with ServicePulse to receive near-real-time indication of any endpoint and message processing failures, and immediate drill-down into the failure details with ServiceInsight (including full context and exception stacktrace). Get started with errors and retries →
Andre Angeltun, If P&C Insurance
Async Messaging NServiceBus asynchronous messaging enables non-blocking communication. This allows all processing to be done in parallel, resulting in maximum throughput that is easy to monitor, configure and scale.
See the NServiceBus overview →
Windows Failover Cluster NServiceBus support for Windows Failover Cluster provides scale-up, scale-out and high availability. Scale-up by adjusting the number of threads on each worker process, and scale-out by starting up another server to run another worker process connected to the clustered distributor. High Availability is achieved by never requiring that any one component be completely shut down.
See windows failover cluster →
Performance Counters Optimize scalability using concrete and up-to-date performance data. You can count on our out-of-the-box performance counters to detect overwhelmed or under utilized resources (including message throughput, end-to-end processing time and service level agreement counters), and fine tune your scale-up and/or scale-out implementation based on real and reliable information.
Monitoring NServiceBus endpoints→
Detailed Performance Data Visually detect performance bottlenecks with ServiceInsight. Detailed message performance data, detailing per-message processing time, delivery time and overall end-to-end critical time, is clearly displaying in a searchable and sortable way, allowing you to detect both patterns and performance outliers in your messaging solution.
See ServiceInsight overview →
Custom Checks Validate performance and scalability assumptions with Custom Checks. Use the ServicePulse production monitoring Custom Check feature to verify that the assumptions underlying your scalability policy are continuously met and applied in production environments.
How to develop custom checks→
Korey Mercier - Senior Engineering Manager and Systems Architect, Rackspace
Justin Alexander - Strategic Research & Development Leader, Hyland Software