我爲我們的新服務使用了azure服務結構。Azure服務結構 - 長時間返回結果
對於面向客戶端的網關,我有一個無狀態的服務獲取請求,實際的工作是使用可靠的無狀態actor。
正如Sean McKenna - MSFT在question中所建議的那樣,我將傳入的請求放在ReliableQueue中並將結果存儲在ReliableDictionary中。
演員的工作時間可能需要長達10分鐘,所以我的問題是如何在如此長時間後將結果推回客戶端?
在我們的案例中,客戶端輪詢是不可能的。
首先,我需要每天支持10k個請求,稍後它會變得更高,更高。
也許使用類似Firebase/SignalR的東西推動結果? –
我雖然使用SignalR,但看起來SignalR更適用於整個羣組(比如IRC),而不是單個客戶端,我看到一些建議如何向單個用戶發出信號,只是想確保這是最好的辦法。像在這裏 - http://stackoverflow.com/questions/19522103/signalr-sending-a-message-to-a-specific-user-using-iuseridprovider-new-2-0 – Kulpemovitz
我相信它會沒事的,你也可以選擇哪個用戶發送你的數據。典型的聊天應用程序只發送給單個用戶並且爲此設置SignalR是正常的。 –