The Service Platform
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. First level retries (fast retries within the transaction) and Second level 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 or extend and customize the retry capability via the REST API. 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 →
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 complexity Developing complex message interactions between multiple endpoints is a daunting task. The modeling and design capabilities provided by ServiceMatrix make this easy to do with the powerful design-time visualization of your solution using the ServiceMatrix Canvas view.
Get started with ServiceMatrix →
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 →
Design-time meets runtime Get a side-by-side view of design-time and runtime system behavior. Built-in integration between the runtime view of ServiceInsight and the design-time view of ServiceMatrix allows you to quickly switch between views, and immediately see the impact of any design and code change on the runtime behavior of your system.
See how they interact →
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 →
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