我希望有人可以指出我正确的方向。我在https://azure.microsoft.com/en-us/documentation/articles/service-fabric-reliable-actors-pattern-distributed-networks-and-graphs/#smart-cache-code-sample-groupchat看到Actors的聊天示例,但该示例仅显示聊天故事的一部分。聊天对我来说是一个很好的例子,因为它与我试图解决的问题类似。
对于我的问题,将消息推送到Actor网络的客户端也需要在网络状态发生变化时接收更新。我相信这个显而易见的工具是SignalR,但我有点卡在那一点上。 Actor SDK似乎没有提供从Actor中流式传输状态的可靠方法。从我读到的内容来看,Actor事件对于这种情况似乎不够可靠(我猜是这样的,因为文档说的是“尽力而为”)。
请参阅SF网站上的聊天示例。我从哪里去?如何从ASP.NET Signalr Hub订阅Actor更新?
答案 0 :(得分:1)
到目前为止,我提出的最佳答案是将pub / sub内容从Service Fabric Actors移到另一个工具上。例如,对于我的特定问题,我使用Redis的发布/子功能。
答案 1 :(得分:0)
通常,您希望客户端与actor之间存在一对一关系,或者客户端与actor之间存在一对多关系。话虽如此,我会设计它,以便客户端向演员发送消息,并且演员负责确保消息被传递到"会话" (通过提醒)。我通过可靠的集合查看会话状态服务#34; session"。当更新到达会话时,他们调用hub方法将更改广播到适当的客户端。