View
142
Download
5
Category
Preview:
Citation preview
NServiceBus at Scale
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