2013-03-14 126 views
0

我正在創建一個多人遊戲,其中一個玩家擁有一個遊戲會話並且其他人可以加入該會話。我所面臨的問題是如何確保會話中的所有玩家都可以訪問當前的遊戲狀態,而不管他們最終連接到哪個雲服務實例。CloudService實例之間的共享狀態

由於此狀態必須經常閱讀,因此我不想將它放在數據庫或存儲中,因爲我想要儘可能快的訪問時間。現在,它只是每個實例中內存中的遊戲會話列表。我的第一個想法是使用Azure緩存功能,但就目前而言,它僅適用於Small和更大尺寸的雲服務實例,而我的實例是超小型的。

是否有可能通過查找託管玩家創建他的遊戲會話的哪個實例,然後獲取該實例的端點並將其傳回給該託管玩家,以確保所有加入的玩家最終以託管玩家的身份結束加入玩家在整個遊戲過程中使用?

或者有沒有更好的方法來解決這個問題?

回答

0

使用專用緩存並支付小實例是一種更好的方法,然後嘗試執行幾乎不可能完成的任務,試圖爲負載平衡環境帶來親和力,並且還迫使超級糟糕的體系結構取代良好的一。

如果成本是一個問題,我建議申請微軟的Bizspark計劃,每個月免費提供2個小實例。

http://www.microsoft.com/bizspark/

+0

關於Bizspark的重要建議。是錢是一個問題。另外,我認爲能夠擁有更多但更便宜的實例而不是少數但功能更靈活的實例將允許更多的同時連接?該解決方案如何隨着用戶數量的增加而擴展?具有更多且更便宜的實例的 – CodeSpeaker 2013-03-14 20:38:48

+0

通常可以,只要這些實例較小或更好。 Exrta-Small實例不是生產(或任何嚴重)的準備。它們具有5%的帶寬,50%的RAM和非專用/ CPU。他們主要擅長開發工作。 – Igorek 2013-03-14 21:07:34