我想知道是否有一个既定的模式来做我想要实现的目标。这似乎是一个相当普遍的情况,所以如果没有,我会感到惊讶,但是我找不到任何东西。我使用的主要技术:
- ASP.NET MVC4
- 信号R
- Redis(使用 ServiceStack API)
我想订阅来自 Redis 的消息并使用 SignalR 将这些消息发布给最终用户。
我不想为每个最终用户设置一个新的 Redis 连接,而是想为每个主题/频道维护一个订阅。然后,每个主题都有自己的 SignalR 集线器,最终用户随后将订阅该集线器。所以本质上是 redis 主题 --> signalR hub --> 许多用户。
我的问题围绕着如何维护这些订阅。它们(本质上)是阻塞的,这在处理 Web 应用程序时是一个问题。简单地创建一个单独的线程来处理每个主题的订阅对我来说是否安全,或者有更好的方法吗?还是我完全误解了这个问题?
我对网络开发相当陌生,所以任何想法都会受到赞赏。