2016-01-17 68 views
2

我想知道是否可以從另一服務內部創建多個服務結構服務?在azure服務結構中動態創建服務

我需要的場景是在一個MMO遊戲裏面,一羣玩家決定在魔獸世界風格的戰場競技場內打另一組玩家。這些實例需要動態創建,並且這些服務應用程序的IP和端口地址需要以某種方式暴露給連接播放器。

我已成功地創建與下面的鏈接,提供信息的服務:創建服務

http://www.codeguru.com/azure_activities/obtaining-reliability-and-scalability-in-azure-service-fabric.html

https://azure.microsoft.com/en-us/documentation/articles/service-fabric-rest-based-application-lifecycle-sample/

,但只有一個可以一次創建,並且我不知道如何從創建的服務中提取IP和端口信息。

服務組是否可以解決這個問題?

https://msdn.microsoft.com/en-us/library/azure/system.fabric.fabricclient.servicegroupmanagementclient.aspx

+1

你有沒有考慮過使用演員?聽起來很像你的場景的完美搭配:只需創建一個新的ActorProxy併發送消息給新演員。 – Mikhail

+0

是的,這是個好主意。爲每個需要的實例創建一個新的Actor。唯一讓我擔心的是,對於低ping情況,消息傳遞開銷不會太高? –

+0

你爲什麼認爲演員的費用會比服務費用高得多?無論如何,您應該爲您的工作負載和延遲需求運行測試。 – Mikhail

回答

3

您應該考慮使用該演員模型。多玩家遊戲後端是基於角色的系統的經典場景之一。因此,無論何時您需要創建一組新球員

  1. 爲新組選擇一個ID。您將通過此ID解決新組問題。
  2. 使用此ID創建一個新的ActorProxy,並向新角色發送消息。

Service Fabric將使您的所有啓動,通信和生命週期管理工作。無需知道IP或任何網絡細節。

相關問題