Search code examples
asp.net-web-apirabbitmqsignalreasynetq

RabbitMQ vs Web API + SignalR


I'm currently using RabbitMQ via EasyNetQ to communicate between a Windows service and numerous clients. The communications are a mix of requests from the clients and push notifications to all of the clients. I'm very happy with the performance, scalability, and security of the current solution, but I want to ensure I'm not missing out on something in the latest technologies. What advantages, if any, does Web API + SignalR have for this scenario?

From what I can tell at this point, SignalR has the potential to be much more performant when web sockets are available, but is slightly more complex from the start and will become significantly more complex if we need to scale out because of the need for a backplane.

Any other insights anyone could share?


Solution

  • It's apples vs. oranges.

    As lukegf puts it in the question comments: SignalR is push server notification solution.

    RabbitMQ is a message broker, and though there is edge cases in which it could directly interact with your web clients, it is mostly suited for server to server communication.