我們在Glassfish應用程序服務器羣集上運行基於Java EE的Web應用程序。傳入流量主要是RESTful請求,用於基於XML的應用程序資源表示,但可能有5%的流量用於基於JSON或XHTML/CSS的表示。您有使用nginx和memcached優化網站的經驗嗎?
我們現在正在研究負載均衡解決方案,以便在集羣中的Glassfish實例之間分配傳入流量。我們還在研究如何使用memcached卸載集羣,這是一個內存中的分佈式散列映射,其鍵爲REST資源名稱(例如,「/ user/bob」,「/ group/jazzlovers」),其值爲相應的XML表示。
聽起來很有前途的一種方法是一舉兩得,並使用輕量級,快速的HTTP服務器/反向代理服務器。 Nginx會通過首先在memcached中查找它的URI來處理每個傳入的請求,以查看是否存在尚未到期的XML表示。否則,nginx將請求發送到其中一個Glassfish實例。 nginx memcached模塊在this short writeup中描述。
你對nginx和memcached的整體印象如何使用這種方式,你對他們有多開心?你認爲哪些資源對於瞭解它們最有幫助?如果你嘗試過它們,但它們不適合你的目的,爲什麼不,你用什麼來代替?
注意:這是一個related question。
更新:我後來在ServerFault.com上詢問the same question。那裏的答案主要是建議替代nginx(有幫助,但是間接)。
謝謝,這是非常有幫助的。 – 2009-07-07 21:59:48