Version 4.0 of NServiceBus, a service bus for .NET, has just been released, adding support for RabbitMQ and ActiveMQ in addition to MSMQ, which up till now has been the primary queuing mechanism. According to Udi Dahan, the founder of NServiceBus, this is the biggest release ever, with improvements including:
- Full AMQP compliance at the wire level when using RabbitMQ or ActiveMQ.
- The ability to use database tables as queues, targeted for organisations that prefer having everything in a central database.
- Significantly improved performance for the MSMQ transport.
- In Memory Bus for handling events synchronously, e.g. for implementing the domain events pattern, (in the same transaction).
- New and updated performance and throughput counters.
- An embedded version of RavenDB, (a document database, used by default for internal storage), upgraded to version 2.
- Simplified configuration of NHibernate and transport setup.
- A basic license that now support multithreading.
A new hands-on labs environment allowing a user to test NServiceBus without installation is available by remote access to a machine in the cloud with NServiceBus pre-installed. A scale-out lab with a 4 machine NServiceBus solution has also been added.
The team also released beta versions of two tools, both integrated into Visual Studio:
- ServiceMatrix, a modelling tool allowing developers to work at a higher level of abstraction when designing message-driven service-oriented solutions. The tool gives a logical view of a system, showing e.g. contracts exposed by services, where messages are sent and events caused by these messages.
- ServiceInsight, a debugging tool for visualizing and managing messages flowing through queues and processes, which otherwise can be hard in an asynchronous system.
NServiceBus is based on queued messaging and provides the building blocks for systems based on a service-oriented and event-driven architecture where services are publishing business events and other services are subscribing to these events, utilizing the publish/subscribe pattern and a queue based transport mechanism.
NServiceBus is an open source product, available under a commercial license, Reciprocal Public License 1.5 (RPL-1.5).
A potential competitor is MassTransit, licensed under Apache 2.0.