1.0.0 • Published 8 years ago

seneca-nservicebus-transport v1.0.0

Weekly downloads
3
License
MIT
Repository
github
Last release
8 years ago

seneca-nservicebus-transport

Seneca micro-services message transport over NServiceBus using RabbitMQ as client.

How does it work?

NServiceBus is an ESB designed for .NET. However, it supports RabbitMQ as a transport which enables frameworks like Seneca to use NServiceBus as a transport layer for the messaging.

NServiceBus uses exchanges and queues in RabbitMQ in order to orchestrate the communication. In the subfolder SenecaNserviceBus there is a .NET project with an example of the simplest configuration for NServiceBus with NServiceBus Host to be used by Seneca. It is configured to use an in-memory database for storing the commands.

NServiceBus will listen on a exchange Called SenecaNServiceBus and forward the messages sent from the act part of seneca into a exchange called SenecaActExchange and and the response from those messages into a exchange called SenecaResExchange. Those exchanges can be bound to queues in RabbitMQ and the name of the queues can be configured in seneca-nservicebus-transport through the parameters actqueuename and resqueuename in the options.

How can I run it?

Compile the .NET project. Please be aware that you might need to change the RabbitMQ URL to point to the right host (extracting it into configuration is work in progress). An application called NServiceBus.Host.exe will be generated. Just run it and NServiceBus will be ready to process the messages. It is configured to create the needed queues but you will need to add two extra: SenecaActExchange and SenecaResExchange. If there is any queue missing the logs will point it out.

Details

It was successfully tested in Node 4.2.3 LTS and .NET 4.5.x. If you have any query please contact us or create an issue in this project. Suggestions are more than welcome (as well as PRs with proposed changes).