Overview of NServiceBus Metrics plugin
NServiceBus.Metrics package.website·Indexed 35 days ago
https://docs.particular.netArchitectural guidance and configuration for building distributed systems using the Particular Service Platform. Includes documentation on messaging patterns, NServiceBus, and cloud-specific implementations for Azure and AWS, covering event-driven architectures, microservices, observability, and high availability.
NServiceBus.Metrics package.ServiceControl and ServicePulse use standards-based authentication via OpenID Connect (OIDC). When enabled, users must authenticate through an identity provider (IdP) to access ServicePulse, and all API calls to ServiceControl require a valid JSON Web Token (JWT).
Critical Requirements:
The NServiceBus Quickstart solution mimics a retail system to demonstrate asynchronous messaging patterns. It consists of five projects:
PlaceOrder command to the Sales endpoint.PlaceOrder command and publishes an OrderPlaced event.OrderPlaced event.This architecture demonstrates the publish-subscribe pattern, allowing the Billing component to remain decoupled from the Sales component.
NServiceBus provides four transaction modes to manage the consistency between receiving messages, updating user data, and sending outgoing messages. The choice of mode involves a trade-off between consistency, reliability, and performance.
Callbacks allow developers to use messaging behind a synchronous API. This is primarily used when introducing messaging to existing synchronous web or WCF applications to allow a gradual transition.
Critical Constraints:
Handle method in an IHandleMessages<T> class to avoid deadlocks.The NServiceBus Gateway provides durable fire-and-forget messaging across physically separated sites (distinct physical locations). It is intended for 'logically different sites'—where sites have different responsibilities or behaviors—and requires the use of explicit messages for cross-site communication.
Key characteristics:
DataBus feature implements the Claim Check pattern to overcome message size limitations imposed by underlying transports. Instead of serializing large payloads (blobs) directly into the message, the DataBus stores the payload in a separate accessible location and places a reference to that location within the message. If the storage location is unavailable during sending or receiving, the operation will fail, triggering standard NServiceBus retry behavior.