我有以下消息传输方案
客户端 -> 调用 SignalR -> 调用 NServiceBus -> 内部处理消息 -> 使用结果调用 NServiceBus 网关服务 -> 调用 SignalR 集线器 -> 使用结果更新客户端。
在选择是否使用 SignalR 与长轮询时,我需要知道 SignalR 是否可扩展。所以在做作业时,我在 Azure 服务总线上遇到了 SignalR。设置在 Global.asax 应用程序启动时完成。
最终,我需要能够从 NServiceBus 处理程序内部执行此操作:
var context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
context.Clients.Group(group).addMessage(message);
问题是上下文是否会被提升,因为我(可能)从另一台机器而不是客户端连接的机器调用它?
另外,SignalR 实现用来播种主题的分片模式是什么?我知道我可以将其配置为使用 N 个主题,但它实际上如何确定哪些消息转到哪些主题以及它是否与外部调用者 PoV 相关。