2

我正在研究實時應用程序並在Azure上構建它。Microsoft Azure上的實時應用程序

的想法是,每一個用戶報告關於自己和所有其他用戶應立即看到它的東西(他們輪詢每隔秒左右的新的信息服務)

我現在使用的Web角色的方法一個WCF REST服務,我正在做所有的寫入數據庫(SQL Azure)而沒有工作者角色,這樣它就會立即寫入。

我以爲可能使用工作者角色和隊列來完成寫作可能更具可伸縮性,但可能會干擾服務的實時性。 (工作人員角色可能不會立即從隊列中取出工作)

這是真的嗎?我該怎麼處理這個問題?

感謝

回答

1

雖然這是事實,隊列會增加一點延遲,你就可以進行擴展,工作者角色實例的數量來處理消息的絕對數量。

您還可以通過一次獲取多條消息來優化隊列讀取。由於單個隊列的可擴展性目標爲500 TPS,因此讀取時每秒可以讀取超過500條消息。

您可能會查看Cache以緩衝最新的用戶更新,因此在輪詢發生時,您的服務將從緩存而不是SQL Azure讀取。隨着信息量的增加,這可能會有所幫助。

+0

這可以工作:)謝謝。 – Roman

0

您可以看看SignalR,它不直接支持服務器場場景,但應該能夠使用內部端點調用來更新每個實例,使用Azure服務總線,或者使用AppFabric Cache。通過這種方式,您可以獲得Push方案而不是Pull方案,因此您不必輪詢端點以查找潛在更新。

相關問題