Upload
andreasohlund
View
2.155
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Andreas Öhlund, one of the lead developers for NServiceBus, discusses the new and shiny things in NServiceBus 3.0. Come and get and overview of the new features in the upcoming NServiceBus 3.0 release.
Citation preview
What’s new in NServiceBus 3.0?
Andreas Öhlundhttp://andreasohlund.net
Main goal for 3.0
Better out of the box experience
Game plan
• Storage• Naming endpoints• Handling time• Bridging remote sites• Random stuff• Q & A
What is a bus anyway?App
Bus.dll
App
Bus.dll
App
Bus.dll
App
Bus.dll
App
Bus.dll
App
Bus.dll
App
Bus.dll
App
Bus.dll
We need to store stuff
Deduplication
Available workers
Timeouts
Subscriptions
Storage needs
App
Bus.dll
Sagas
Scaling out
App
Bus.dll
• Default storage• Bundled with NServiceBus• NH=>NServiceBus.NHibernate.dll
It’s all in the name
Conventions based on the endpoint name
Orders
Bus.dll
Orders
OrdersInput queue
Database
Orders.TimeoutsTimeouts
Gateway url http://localhost/orders
Naming endpoints
• Defaults to your namespace• Attribute: [EndpointName(“Orders”)]• Install: /serviceName:Orders• Configure.DefineEndpointName(…)
Demo
Storing sagas in RavenDB
Durable timeouts vNext
3.0 Timeout manager
App
Bus.dll
Timeouts
TimeoutsBusiness
LogicTimeoutManager
Bending time to your will
• Sagas– RequestUtcTimeout<T>(…)– IHandleTimeout<T>– v2.6 Timeouts still supported
• Bus.Defer<T>(…)• All endpoints have a local
timeoutmanager
Demo
Using timeouts
Bridging remote sites
GatewaySiteA
HeadquarterEndpoint
Endpoint
Gateway
Gateway
Http
Msmq
App
Bus.dll
App
Bus.dll
Msmq
What can the gateway dofor you?
• Bridge physical sites• Supports multiple channels• Does de-duplication• Performs retries• Can act as a alternate channel for
administrative messages• Enable Browser NServiceBus
communications
Demo
Gateway
Master Nodes
App
Bus.dll
App
Bus.dll
App
Bus.dll
MyCluster
Worker2Worker1
MasterNode = MyCluster
MasterNode = MyCluster
Distributor
Timeoutmanager
Gateway
Profile = Worker
Profile = Worker
Profile = Master
Data bus
App
Bus.dll
App
Bus.dll
Main transport
Data Bus
MSMQ / Azure Queues
File share / Blob storage
public DataBusProperty<byte[]> Image{ get; set; }
Other features
• Unobtrusive mode• DatabusProperty<T>• ISendMessages / IReceiveMessages• Modeling tools• Exception details attached to messages
in the error queue• Client side pipeline
Q & A
Thanks for listening!
www.nservicebus.comhttp://andreasohlund.net
@andreasohlund