Michel
Michel

Reputation: 56

Use RabbitMQ to replace service layer

I am developing an application using C#/.NET having 2 parts: a WPF client and a Windows service.

Each of these parts are currently working independently, but I now want to connect them together as a new step of my project. The app is using NHibernate, Autofac and Automapper (dto/models).

On the service side, I currently have only one server running it, but I will maybe create a cluster to have more computing power.

The constraints are the following: I want to be able to send my DTOs over the wire, so WCF is out. Moreover, I don't have the budget to get ServiceStack 4 (and v3 has no more support).

The advantage is that RabbitMQ supports sending of DTOs and allows to create a cluster easily. The limitation is that I will not be able to use my service as an api to output JSON result (but it is not the purpose of my app anyway, and I'll not need it).

Upvotes: 1

Views: 365

Answers (1)

mythz
mythz

Reputation: 143339

I'd use Rabbit MQ if you needed reliable messaging or for things that MQ's are inherently better suited for, e.g. long-running tasks, decoupling senders/receivers, etc.

But if you're just looking to cluster normal Request/Reply Services over multiple back-end App Servers you can just use a load-balancer and configure it to load-balance requests amongst your multiple App Servers.

Upvotes: 2

Related Questions