new and shiny things in nservicebus 3.0

Post on 15-Jan-2015

2.155 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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.

TRANSCRIPT

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

top related