Contents
- Long-Running Processes
- Sagas
|
NServiceBus V3.0 New Features
Lower learning-curve. Simpler configuration. Better integration. More powerful enterprise capabilities.
Here are the major new features:
- Less configuration One of the main focus points of the 3.0 release is to
improve the black box experience by following our conventions so only a minimal
amount of configuration is needed. Queue names and other NServiceBus parameters
are automatically being generated by the framework, minimizing the impact NServiceBus has on your systems’ configuration.
- Timeout Management Performance and robustness were improved by replacing the input queue with RavenDB persistence.
A working sample can be found under the Samples\TimeoutManager folder in the downloaded NServiceBus package.
- Cross-site communication The gateway in NServiceBus 3.0 is included in the core
assembly and that means that every endpoint is capable of running a gateway. The
main purpose of the gateway is to allow you to do the same durable fire and
forget messaging that NServiceBus has got you used to across physically
separated sites.
Read more about this topic: Multi-Site with the Gateway or start with an introduction here.
To see it the gateway in action, see this Gateway sample at the Samples\Gateway folder under the NServiceBus package.
- Scaling out The introduction of a MasterNode and Master profile
concept will make scaling out using the distributor easier than before. Feel free
to read more about it, here.
The ScaleOut sample is a working
sample, showing how to start small and then scale out by having another
recieving endpoint working from another host.
- RavenDB Integration Integrating RavenDB within NServiceBus for
persisting things such as Subscription Storage and Saga Persistence, brings some benefits:
- A much more cohesive deployment without worrying about overloading your existing relational databases
- This will save you from having to haggle with your DBAs anytime you want production-ready
storage for NServiceBus
- The integration
of RavenDB will enable us to stop merging NHibernate, but we'll still integrate
with it out of the box. This will make it much easier for you to plug in your
own version of NH instead of ours.
Licensing agreement has been reached that will allow users of NServiceBus Standard Edition to use RavenDB at no additional cost.
- Message Attachments Large chunks of data, such as images or video files can
be transported using NServiceBus V3 data bus. The only thing you have to do
is put an attribute over your large property and NServiceBus will take care of
the rest. This is particularly important when running in cloud environments
where limits on message size is usually much lower than on-premise.
A working sample can be found here.
- Versioning A new feature in NServiceBus V3 called Unobtrusive mode let reference use your own events and command classes
without the need to reference any NServiceBus assemblies in order to define messages. This helps greatly when
doing upgrades of the infrastructure itself.
Please see the Unobtrusive here.
NServiceBus now follows adheres to the Semantic Versioning Specification (SemVer) guidelines.
This simplifies version numbering and upgrades to new releases of NServiceBus.
- NuGet packages NServiceBus is now available via Nuget.
This mechanism will allow you to always stay updated with NServiceBus releases,
either major ones or smaller. In addition. You can read more about it
here.
- Best Practices One of the new features in NServiceBus 3.0
is the introduction of two new message interfaces, IEvent and
ICommand.
The purpose is to capture more of the intent of the messages that you as a user are
defining.
This will help NServiceBus to enforce messaging best practices and
avoiding common pitfalls.
Please look at the
PubSub sample,
or under the Databus sample or
Unobtrusive sample for examples on
how the IEvent and ICommand messages are used.
Like always, samples are the best and most enjoyable way to learn
NServiceBus v3.0 new features, please have a look at the \Samples folder:
After downloading
Start visual studio as administrator when working with the following samples, as
they require to listen on local http port: Gateway,
ScaleOut and WcfIntegration.
|