7. The Particular Service Platform
http://particular.net/service-platform
UndInetrr othdeu chtoioond t oo fS theerv PicaerItnicsuiglahrt Sfoerr NviScee rPvliacetfBorums
8. Particular Service Platform - Architecture Overview
Introduction to ServiceInsight for NServiceBus
Under the hood of the Particular Service Platform
Endpoint
Endpoint
Endpoint
Endpoint
Endpoint
Audit Q
Error Q
Control Q
9. TODO: Add NSB Pipeline illustration here
Introduction to ServiceInsight for NServiceBus
NServiceBus pipeline:
Where it all begins
Under the hood of the Particular Service Platform
10. NserviceBus Endpoint Auditing
Introduction to ServiceInsight for NServiceBus
Under the hood of the Particular Service Platform
Endpoint
Endpoint
Endpoint
Endpoint
Audit Q
Error Q
Audit all messages and
processing errors into
defined central queues
11. Introduction to ServiceInsight for NServiceBus
Extended Auditing with
Control Plugins
Under the hood of the Particular Service Platform
Endpoint
Endpoint
Endpoint
Endpoint
Audit Q
Error Q
Control Q Control Plugins collect and report about:
• Endpoint Heartbeats
• Saga activity data
• Custom Checks for endpoint health
• Debugging data
// NuGet Console:
Install-Package SeviceControl.Plugin.Heartbeat
Install-Package SeviceControl.Plugin.SagaAudit
Install-Package SeviceControl.Plugin.CustomChecks
Install-Package SeviceControl.Plugin.DebugSession
12. Introduction to ServiceInsight for NServiceBus
ServiceControl:
The “secret” ingredient
Under the hood of the Particular Service Platform
Endpoint
Endpoint
Endpoint
Endpoint
Audit Q
Error Q
Control Q
• Consume all audited messages
• Store internally (embedded database)
• Index and analyze
• Expose Querying & extensibility API
13. Introduction to ServiceInsight for NServiceBus
ServiceInsight:
Reining in Complexity
Under the hood of the Particular Service Platform
Endpoint
Endpoint
Endpoint
Endpoint
Audit Q
Error Q
Control Q
ServiceInsight:
• Connect to ServiceControl
• Query using HTTP API
• Provide data visualization
14. Introduction to ServiceInsight for NServiceBus
ServicePulse:
Production Monitoring
from the Inside out
Under the hood of the Particular Service Platform
Endpoint
Endpoint
Endpoint
Endpoint
Audit Q
Error Q
Control Q
ServicePulse:
• Connect to ServiceControl
• Monitor production events
• Alert and report
15. Introduction to ServiceInsight for NServiceBus
ServiceMatrix:
Developer Productivity
Booster Engine
Under the hood of the Particular Service Platform
Endpoint
Endpoint
Endpoint
Endpoint
Audit Q
Error Q
Control Q
ServiceMatrix
• Now:
Create new fully functional
solutions in minutes
• vNext:
Support existing endpoints
16. UndInetrr othdeu chtoioond t oo fS theerv PicaerItnicsuiglahrt Sfoerr NviScee rPvliacetfBorums
Online Webinars:
Building Better .NET Solutions
with the Particular Service Platform
Production Monitoring with
ServicePulse and the
Particular Service Platform
19. Scenario: Online Video Store
Allow buyer’s remorse
period to elapse
Customer can cancel
purchase order before
remorse period elapses
Introduction to ServiceInsight for NServiceBus
Under the hood of the Particular Service Platform
Customer purchases
online Video Content
Send purchase order
to Sales
Notify CRM System
Operations: prepare
content & provide link
When content is ready:
notify customer & CRM
26. Introduction to ServiceInsight for NServiceBus
Custom Checks
Introduction to ServicePulse Endpoint
Endpoint
Endpoint
Endpoint
Endpoint
Drop custom check
dll into the endpoint
bin directory
Audit Q
Error Q
Endpoints periodically
(or on-demand) run
custom checks
Custom checks
events received and
stored in SC
ServicePulse indicates
when Custom Checks
events are raised or cleared
Code the custom check in a class that inherits
from PeriodicCheck
(see sample GH repo issue ServicePulse#16)
ServiceControl ServicePulse
27. Introduction to ServiceInsight for NServiceBus
Endpoint Heartbeats
Introduction to ServicePulse Endpoint
Endpoint
Endpoint
Drop the
ServiceControl plugin
dll into the endpoint’s
bin directory
Endpoints start sending
hearbeat messages
(default: every 30 sec)
Heartbeats received
and monitored by SC.
ServicePulse indicates
when heartbeats are not
received as expected
Endpoint
Endpoint
Audit Q
Error Q
ServiceControl ServicePulse