2015-12-06 81 views
4

我希望有人能指出我在正确的方向。我在https://azure.microsoft.com/en-us/documentation/articles/service-fabric-reliable-actors-pattern-distributed-networks-and-graphs/#smart-cache-code-sample-groupchat看到Actors的聊天示例,但该示例仅显示聊天故事的一部分。聊天对我来说是一个很好的例子,因为它与我试图解决的问题类似。服务结构演员和信号R

对于我的问题,将消息推入Actor网络的客户端在网络状态发生变化时也需要接收更新。我相信这个显而易见的工具是SignalR,但是我在这一点上陷入困​​境。 Actor SDK似乎没有提供一种可靠的方式将状态变化从Actor中流出。从我读到的内容来看,Actor Events对于这种场景似乎不够可靠(我猜是这种情况,因为文档中说“尽力而为”)。

因此,请参阅SF网站上的聊天示例。我从哪里去?我如何订阅来自ASP.NET Signalr Hub的Actor更新?

回答

1

到目前为止,我提出的最佳答案是将pub/sub的内容从Service Fabric Actor移出并转移到另一个工具。例如,对于我的特定问题,我使用Redis的pub/sub功能。

0

通常,您希望客户端与参与者之间的1对1关系或客户端与参与者之间的1对多关系。据说我会设计它,以便客户端将消息发送给演员,并且演员负责确保消息传递到“会话”(通过提醒)。我通过对该“会话”的可靠收集将该会话视为有状态的服务。当更新到达会话时,他们调用集线器方法将更改广播到适当的客户端。