2015-12-06 80 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對多關係。據說我會設計它,以便客戶端將消息發送給演員,並且演員負責確保消息傳遞到「會話」(通過提醒)。我通過對該「會話」的可靠收集將該會話視爲有狀態的服務。當更新到達會話時,他們調用集線器方法將更改廣播到適當的客戶端。