Nservicebus at scale

Preview:

Citation preview

NServiceBus at Scale

About MeCharlie Barker

Twitter: @porkstone Blog: http://dualbotic.com

What will this talk cover?

Why we adopted NServiceBusMonitoring / TuningIntegration Example with a PSPLessons Learned

How our platform used to communicate

Website Back OfficeDecision Engine

XML/HTTPXML/HTTP

Third party services

House of cards

Why NServiceBus?

● Udi says● Robust● Distributed● Opinionated● Training● Community

● Added more granular events● Used WMI to send data● Aggregated data every minute● Exceptions by Message Type● Allowed us to find bottlenecks quickly● Allowed us to predict SLA failure

Monitoring / Tuning

Predict Failure Point

1 7 14 21 28

% Busy Time

Day of the month

SLA Breach

Monitoring - TIFA

Messaging Overview

Detailed View - Message Type Breakdown

Detailed View - Single Message

Metrics available for endpoint as a whole

● %Busy Time● %Idle Time● Critical Time(s)

Metrics for endpoints + individual messages

● Count● Percentage of time● Average Duration

Count Metrics

● Message Count● Errors Count● Retries Count● Handler Failures Count

Percentage of time metrics

● Message deserialisation time● Message handler time● Message commit time● Message processing time● Failed message processing time

Average Duration metrics

● Avg message deserialize (ms)● Avg message handler (ms)● Avg message commit (ms)● Avg message processing (ms)● Avg failed message processing (ms)

Ivica

Integration Example

Endpoints

Engine Bot

Payment ServiceProvider

HTTP

NSB v3.3.5RavenDB 2.0

Bot configuration

[Unique] Attribute

RavenDB

UniqueSagaIdentity Document

Creating the missing docs

Payment Collection Saga

Payment Collection Saga - Start/Stop

Payment Collection Saga - Timeout

Lessons Learned

● Code dependencies● Testing Async● Testing Long Running Processes● Deploying the DTC● Rewrite from scratch?

What would I like to see in the future?

Questions?

fin

Recommended