2012-06-27 37 views
0

我打算創建移動應用程序。它會每5秒鐘自動調用一次Web服務,以檢查用戶是否有新消息。想象一下,有10.000個用戶在同一時間使用這個應用程序。這意味着Web服務每秒接收到2000個請求(這意味着每秒鐘有2000個數據庫訪問)。每秒10000個調用的Web服務

我該如何處理這麼多的請求?
如何優化數據庫?

回答

1

輪詢不是一個很好的選擇,你應該更好地尋找推送通知。這在服務器端的客戶端需要少得多的資源。

你只需要找到一種方法來爲您的服務提供合適的推技術。也許你可以使用像XMPP這樣的東西。 WhatsApp也使用它(即使它們以二進制格式傳輸數據)。

爲了處理這麼多的連接,你可能需要一個帶有代理的集羣。這是一個非常普通的塞納里奧。我相信你會發現更快的東西。您忘了添加一些關於您的服務器配置的更多信息。

+0

非常感謝您的建議。我已經嘗試在本地PC上使用OpenFire服務器。效果很好。 我打算使用IIS服務器和MS SQL數據庫。 P.S.對不起,如果問題是愚蠢的。我對這些事情很陌生。但是,是否可以在IIS和MS-SQL服務器上的同一臺計算機上運行XMPP服務器?這是不錯的做法嗎? – Augis

+0

@Augis這不是一個愚蠢的問題。只是一個普通的初學者問題。確定可以爲一臺服務器安裝多個服務。我不能說這是否是一種好的做法,因爲我從來沒有爲這種系統設置集羣環境。 – rekire

+1

什麼是您的移動平臺?我知道對於Android來說,執行此類操作的首選方法是使用C2DM進行推送通知。 – Ibrahim