我目前正在通过 EasyNetQ 使用 RabbitMQ 在 Windows 服务和众多客户端之间进行通信。这些通信是来自客户端的请求和向所有客户端推送通知的混合。我对当前解决方案的性能、可扩展性和安全性非常满意,但我想确保我不会错过最新技术中的某些东西。对于这种场景,Web API + SignalR 有什么优势(如果有的话)?
据我目前所知,当 Web 套接字可用时,SignalR 有可能提高性能,但从一开始就稍微复杂一些,如果我们需要横向扩展,它会变得更加复杂,因为需要一个背板。
任何人都可以分享其他见解吗?
这是苹果与橙子的较量。
正如 lukegf 在问题评论中所说:SignalR 是推送服务器通知解决方案。
RabbitMQ 是一个消息代理,尽管在某些边缘情况下它可以直接与 Web 客户端交互,但它最适合服务器到服务器的通信。