研究員StackOverflowers的服務器端數據接收,什麼技術用於大規模的移動應用程序
我們正在建立一個iOS應用,將記錄這將有在特定的時間被髮送回我們的服務器數據。除了確認數據已成功接收外,服務器不會將任何數據發送回客戶端。服務器上的處理負載可能成爲一個問題,所以我們希望設計我們的服務器/客戶端通信,以使開銷保持儘可能低。
1)使用PHP將接收到的數據寫入文件系統/數據庫是否明智?它很容易維護,但可能比Glassfish中的Java應用程序(如果我們選擇原始套接字連接時在C中爲「手動編碼的」服務器守護程序)效率低很多。
2)將接收到的數據直接寫入MySQL數據庫(運行在同一臺服務器上)是明智的做法,還是您認爲我們應該先將數據寫入文件系統,然後將數據解析爲與接收數據庫異步的數據(即服務器有資源需要備份的時間)
3)看起來很聰明:使用協議如HTTP或FTP,或者構建我們自己的服務器守護進程並讓客戶端連接到在此大量簡化的例子在它的插座,並推數據,如:
SocketFD = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
write(SocketFD, theData, sizeOfTheData);
或者,如克魯梅爾爾指出,這也許是一個關於服務器負載的非問題?
提前致謝!
我沒有看到問題。如果很多用戶打你的服務器,它會變得很慢。我看不出使用的傳輸協議如何對降低CPU負載產生重大影響?你想避免許多用戶同時帶上CPU嗎?如果是,然後扼殺它們或回答你的客戶在x分鐘內重試。 – Krumelur 2011-03-19 22:49:12