2014-06-24 93 views
0

我們目前在服務器電子商務網站(其商店構建器)的apache上運行SaaS應用程序。目前,我們在該應用程序上託管了超過1000個客戶端,並且現在正面臨可擴展性問題(即使在相當大的20核80GB內存+所有SSD磁盤服務器上,CPU也會超過90%)。NGINX作爲啓用了緩存的Web服務器+負載均衡器

我們正在從nginx專家尋求幫助: 1.解釋運行nginx作爲web服務器與使用它作爲反向代理之間的區別。有什麼好處? 2.我們也希望使用nginx作爲負載平衡器(並且已經在測試中設置了該平衡器),但是我們還沒有在負載平​​衡器上啓用緩存。因此,雖然它的幫助重定向請求,它不直接提供任何流量,它只是通過一切傳遞到兩個Apache服務器之一。

問題是我們有很多來自apache服務器的用戶生成內容,我們如何才能使緩存僅被nginx緩存的某些頁面無效?如果我們每隔1分鐘安裝一個cron來清除這個緩存,那麼它就不會那麼有用......因爲緩存實際上不存在。

-

還需要對什麼是搭建給出了上述場景的最佳架構的總體字。

是否

  1. NGINX負載均衡機+ Cacheing ==> Nginx的Web服務器
  2. NGINX負載平衡器==> Nginx的Web服務器+ Cacheing?
  3. NGINX負載均衡機+ Cacheing ==>的Apache Web服務器
  4. NGINX負載平衡器==>的Apache Web服務器(不太可能)

請幫幫忙!

回答

0

水平縮放以支持更多的客戶端是一個不錯的選擇。它建議先評估是什麼原因造成的應用程序中的瓶頸,內存,長時間運行的請求等

Nginx的Vs的其他Web服務器:Nginx的是一個HTTP服務器,而不是一個servlet引擎。鑑於此,您可以檢查它是否符合您的需求。
這是一個快速的Web服務器。您需要評估將其作爲單獨的獨立Web服務器用於其他Web服務器的好處。速度和記憶可以幫助。

Nginx的作爲負載均衡:

  • 你可以有背後nginx的多個Web服務器實例。
  • 它支持循環,加權等負載均衡算法,因此負載可以根據資源的可用性進行分配。
  • 它有助於終止Nginx的ssl,過濾請求,修改頭文件,壓縮,應用程序升級不會停機,提供緩存的內容等。這樣可以釋放運行應用程序的服務器上的資源。也關注分離。
  • 此設置是一個反向代理和它的好處。

您可以使用nginx處理緩存過期。 nginx文檔有很好的細節http://nginx.com/resources/admin-guide/caching/