Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

New and shiny things in NServiceBus 3.0


Published on

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.

  • Be the first to comment

New and shiny things in NServiceBus 3.0

  1. 1. What’s new in NServiceBus 3.0? Andreas Öhlund
  2. 2. Main goal for 3.0Better out of the box experience
  3. 3. Game plan• Storage• Naming endpoints• Handling time• Bridging remote sites• Random stuff• Q&A
  4. 4. What is a bus anyway? App App Bus.dll Bus.dll App App Bus.dll Bus.dll App App Bus.dll Bus.dllApp AppBus.dll Bus.dll
  5. 5. We need to store stuff
  6. 6. Storage needs Sagas SubscriptionsApp Timeouts AppBus.dll Bus.dll Available workers Deduplication Scaling out
  7. 7. • Default storage• Bundled with NServiceBus• NH=>NServiceBus.NHibernate.dll
  8. 8. It’s all in the name
  9. 9. Conventions based on the endpoint name Database OrdersInput queue Orders Orders Timeouts Orders.Timeouts Bus.dllGateway url http://localhost/orders
  10. 10. Naming endpoints• Defaults to your namespace• Attribute: [EndpointName(“Orders”)]• Install: /serviceName:Orders• Configure.DefineEndpointName(…)
  11. 11. DemoStoring sagas in RavenDB
  12. 12. Durable timeouts vNext
  13. 13. 3.0 Timeout manager Business Timeout Timeouts Logic Manager TimeoutsAppBus.dll
  14. 14. Bending time to your will • Sagas – RequestUtcTimeout<T>(…) – IHandleTimeout<T> – v2.6 Timeouts still supported • Bus.Defer<T>(…) • All endpoints have a local timeoutmanager
  15. 15. DemoUsing timeouts
  16. 16. Bridging remote sites
  17. 17. GatewaySiteA Endpoint App Msmq Bus.dll Gateway Headquarter Http Endpoint Gateway Msmq App Bus.dll
  18. 18. What can the gateway do for 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
  19. 19. DemoGateway
  20. 20. Master Nodes Profile = Master Distributor App Timeoutmanager Bus.dll Gateway MyCluster Worker1 Worker2 MasterNode = MyCluster Profile = Worker MasterNode = MyClusterApp App Profile = WorkerBus.dll Bus.dll
  21. 21. Data bus File share / Blob storage Data Bus App Main transport App Bus.dll Bus.dll MSMQ / Azure Queuespublic DataBusProperty<byte[]> Image{ get; set; }
  22. 22. Other features• Unobtrusive mode• DatabusProperty<T>• ISendMessages / IReceiveMessages• Modeling tools• Exception details attached to messages in the error queue• Client side pipeline
  23. 23. Q & A
  24. 24. Thanks for listening! www.nservicebus.com @andreasohlund