2012-11-18 48 views
0

那麼,基本上我正在尋找的是對大型應用程序如何處理/創建用戶數據庫和網絡連接的全面解釋?也許你自己創建了一個大型應用程序? 他們是否使用套接字或其他技術? GZIP? JSON?大型應用程序如何處理網絡可擴展性?

我問的原因是因爲我正在編寫一個應用程序,它需要服務器端的用戶數據庫,當然還有某種套接字連接或客戶端的HTTPRequests。我知道很多人會使用的應用程序,我只是不知道如何使它可擴展..

我覺得這是一個問題,會幫助不僅僅是我太多的人=)

任何幫助非常感謝!

//亞歷山大

+1

這是一個非常廣泛的問題,所以沒有任何簡單的答案。但在網站上看看可擴展架構的很多示例:http://highscalability.com/blog/category/example – Cyprian

+0

謝謝!我發現可擴展性是一個巨大的領域,唯一對我來說真正有幫助的是擴展應用程序將使用的服務器。 –

回答

0

除了使用很好地擴展Web服務器(Apache不好聽,如果配置得當),有幾個技術,可以幫助您處理儘可能多的客戶,你可以迅速。

對靜態內容(即nginx)使用單獨的服務器。這是專門用於儘可能快地提供靜態內容的專用服務器。用於訪問圖像,js文件,css文件等...任何不會隨着一個web請求改變到另一個。

使用memcached限制數據庫調用。當數據庫調用成爲瓶頸時(這可以在每次Web請求中多次ping數據庫(動態內容)時快速發生)。這實際上是一個非常快速的內存(讀取:臨時)位置,可以使數據的變化非常迅速。您必須對代碼進行修改才能首先檢查memcached,以查看信息是否可用(即未過期...對於memcached,您設置的字段將被刪除的過時時間),如果是使用此數據而不是ping數據庫。如果數據不可用,則ping數據庫並將數據放入memcached中,併爲下一個請求提供超時。

這個blog也有很好的信息。
其他人提到this book作爲一個良好的總體位置,以獲得一些洞察力。

相關問題