Is NServiceBus an ESB at all

Eatdoku picture Eatdoku · May 31, 2012 · Viewed 7k times · Source

Is NServiceBus a ESB or lightweight ESB at all? or is it more like WCF with durable/ reliable messaging? It looks to me more like a messaging framework than ESB.

just want some pointer as I am just started looking into different ESB products and what they are able to do or not.

Answer

Chris Bednarski picture Chris Bednarski · Jun 1, 2012

NServiceBus is definitely an ESB. Full Stop.

Enterprise Service Bus, a Bus, meaning a thing that allows, by design, for components of a system to be distributed and work independently. The bus itself is also distributed. A failure of one component or service doesn't affect the availability of other components connected to the bus.

The opposite of a bus is a broker. A broker presents a single point of failure in a system. Things like MS BizTalk are brokers, not ESB.

UPDATE
Just to elaborate a bit on the enterprise support in NSB
- supported messaging patterns are one-way fire and forget (durable and express), correlated request-response, publish-subscribe. Everything else can be built on top of that.
- transactional message processing and automatic retries
- load balancing with a distrubutor
- configurable auditing and monitoring with performance counters
- built-in long running process management
the list goes on ... making NServiceBus an ESB

Some message broker products can be deployed in a 'federated mode', which makes those deployments decentralised. The decentralised deployment type aligns well with the bus architecture style. So, I guess, it depends. However, a centralised deployment is just an enterprise service broker, not a bus.