2014-11-24 51 views
0

我正在爲基於大型瀏覽器的MMO構建一個項目。我有關於使用MS AZURE工作人員角色的一些設計問題。AZURE VM可測試的可擴展設計環境

我想保持各分成不同的項目,我的服務器的代碼庫,在同等VS解決方案,只有共享MSSQL的DB,自定義編碼庫和它們之間的輔助服務,SOAP或XML。

這裏的問題是,因爲我希望他們每個人都在不同的虛擬機的可能性,爲開發的目的,至少直到負載平衡器準備好,我想讓他們都在一個單一的虛擬機,所以我是少用我的bizspark蔚藍信用。

我可以在單個虛擬機上部署和運行多個webrole項目,但是當我開始在自己的虛擬機上部署它們時,不必修改大部分後端代碼庫,以便我的負載平衡器/縮放器可以完成它的工作?

開發原型arhitecture: 單獨的虛擬機上運行4個服務器/ workroles - >

  1. 平衡器服務器
  2. 登錄服務器
  3. 世界服務器
  4. 通信服務器

計劃半最終服務器架構:

  1. 單個專用虛擬機負載平衡器(隨着負載的增加併爲每個服務器傳遞初始狀態,預期並處理LOGIN和WORLD服務器的服務器負載[[啓動/停止/重新啓動/擴展]]。
  2. 登錄服務器的多個專用虛擬機 - 處理身份驗證。與客戶一起保護敏感數據。最容易被負載平衡器通過啓動另外一個登錄服務器VM與初始狀態(玩家queing和這樣)
  3. 多個專用VM的世界服務器(處理遊戲,狀態,力學等)向外擴展。
  4. 通信服務器的單個專用VM。

任何指針/幫助?

謝謝!你的問題的

回答

0

部分是主觀的意見,徵求(約架構指針/建議的部分),並且應被刪除(因爲沒有正確的答案)。至於角色和雲服務:每個角色只定義將在虛擬機上運行的內容,並且每個角色實例都轉換爲單獨的虛擬機。兩個角色?兩套vm(每個角色每個實例一套)。

如果您希望您的代碼都在一個虛擬機上運行,​​那麼你就需要到各個項目打包成一個單一的角色。假設你確實保持了項目的獨立性,如果你選擇改變你的體系結構以擁有多個角色,那麼稍後在角色之間轉移代碼項目應該是相對直截了當的。

+0

謝謝你的回答。架構設計只是爲了澄清我的問題。 您可以使用Visual Studio 2013在任何捆綁了我的項目,單個workrole VM給我一個例子。 什麼是針對單個項目workrole分離爲每個虛擬機一個workrole最好的做法是什麼? 我應該如何最好地管理過渡,而不會破壞現有的功能? – Cosmin 2014-11-24 15:40:23

+0

截至目前,我已經將我的服務器項目設置爲一個單一的workrole項目,但稍後我會希望將它們分開放在不同的VM上。 Project - > new - > azure項目 - >該項目中的4個workroles。我想現在如果我可以在單個虛擬機上部署每個工作流程的項目 – Cosmin 2014-11-24 15:42:49