我正在将Azure SignalR服务与Azure Function应用程序一起使用,但是我在基本设计模式上苦苦挣扎。就我而言,我的Azure功能正在使用以下代码向所有连接的客户端发送消息:
await signalRMessages.AddAsync(
new SignalRMessage
{
Target = "SomeTarget",
Arguments = new[] { "Sample Message" }
});
这可以正常工作,但我担心的是向客户发送垃圾邮件,使他们不在乎。考虑普通股票报价器示例。如果我的Azure功能发送10,000种不同股票的更新,但是大多数客户只关心3或4种股票怎么办?
我可以有JavaScript客户端代码来检查消息并确定是否为该特定用户显示了库存。但是,该用户可能被成千上万条永远不会应用的消息轰炸。这似乎效率很低。
是否可以将消息仅发送给关心正在更新的库存的客户?这是我应该使用用户组的情况(例如,每个股票代号有一组用户)吗?还是有更好的方法来做到这一点?