2011-04-19 66 views
1

我有一個大型遊戲引擎,爲手機客戶端和網站提供服務。數據庫是MSSQL2008,引擎是用C#編寫的。高性能服務器 - 我應該使用什麼?

該網站使用ASP.NET MVC構建,手機的Web服務也構建在ASP.NET MVC上(可能會遷移到WCF或純套接字服務器)。

網站和Web服務位於IIS 7服務器上,而數據庫位於專用服務器上。兩者都連接在本地快速局域網上。

遊戲需要每個用戶的實時響應(不到1秒)。當我對這項服務進行了一些負載測試時,似乎在約250個用戶上它達到了1秒的響應時間(在50秒左右,大概是200ms)。它應該支持超過10000個連接的用戶。 (我猜是服務器複製)。

我想添加一個圖層 - 專門用於遊戲Web服務的實時服務器。我聽說Python可以用來構建非常高性能的服務 - 這將是一個聰明的想法來添加這個層? (該層應該有內存中的臨時數據庫來爲實時播放器提供服務,然後每隔X秒將其全部轉儲到後端數據庫)。

我的建築有什麼好處?這怎麼能改進?

非常感謝!

回答

4

您用來問這個問題的網站也是一個非常類似的堆棧,他們已經在blog.stackoverflow.com以及serverfault blog上寫過關於它的文章。你可以窺探他們一直在做的事情,但我懷疑你可能需要研究的是某種緩存層。

+0

我也添加了一個緩存層使用AppFabric緩存 - 我不知道它是不夠的... – Roman 2011-04-19 21:43:00

+0

並感謝與StackOverflow檢查的想法:) – Roman 2011-04-19 21:43:23

0

除了SO,在Microsoft堆棧上實現非常高規模的站點的另一個很好的例子是PlentyOfFish.com。

你可以在High Scalability blogCoding Horror等網站上閱讀他們的體系結構。谷歌搜索「plentyoffish scaling」將揭示許多其他來源,以及與創始人Markus Frind就這個問題進行的採訪。