介紹一下再Apache下的Tomcat負載均衡的一些使用問題
在負載均衡技術中,硬件設備是比較昂貴的,對於負載均衡的學習者如果不是在企業中應用或者是學員中學習,很少有機會能碰到實際操作的訓練。(http://xz.8682222.com)所以,很多朋友都會選擇軟件方面的設置進行研究。現在我們就來介紹一下再Apache下的Tomcat負載均衡的一些使用問題
其實無論是分布式,數據緩存,還是負載均衡,無非就是改善網站的性能瓶頸,在網站源碼不做優化的情況下,負載均衡可以說是最直接的手段了?其實拋開這個名詞,放開了說,就是希望用戶能夠分流,也就是說把所有用戶的訪問壓力分散到多臺服務器上,也可以分散到多個tomcat裏,如果一臺服務器裝多個tomcat,那麽即使是負載均衡,性能也提高不了太多,不過可以提高穩定性,即容錯性?當其中一個主tomcat當掉,其他的tomcat也可以補上,因為tomcat之間實現了Session共享?待tomcat服務器修復後再次啟動,就會自動拷貝所有session數據,然後加入集群?這樣就可以不間斷的提供服務?如果要真正從本質上提升性能,必須要分布到多臺服務器?同樣tomcat也可以做到?網上相關資料比較多,可以很方便的查到,但是質量不算高?我希望可以通過這篇隨筆,系統的總結?本文的
例子是同一臺服務器上運行兩個tomcat,做兩個tomcat之間的負載均衡?其實多臺服務器各配置一個tomcat也可以,而且那樣的話,可以使用安裝版的tomcat,而不用是下文中的免安裝的tomcat,而且tomcat端口配置也就不用修改了?下文也會提到?
tomcat的負載均衡需要apache服務器的加入來實現?在進行配置之前請先卸載調已安裝的tomcat,然後檢查apache的版本?我這次配置使用的是apache-tomcat-6.0.18免安裝版本,我親自測試後推斷安裝版的tomcat在同一臺機子上會不能啟動兩個以上,可能是因為安裝版的tomcat侵入了系統,導致即使在server.xml裏修改了配置,還是會引起沖突?所以我使用tomcat免安裝版?
apache使用的是apache_2.2.11-win32-x86-no_ssl.msi?如果版本低於2.2Apache負載均衡的配置要有所不同,因為這個2.2.11和2.2.8版本集成了jk2等負載均衡工具,所以配置要簡單許多?別的版本我沒有具體測試,有待考究?這兩個軟件可以到官方網站下載?
把Apache安裝為運行在80端口的Windows服務,安裝成功後在系統服務列表中可以看到Apache2.2服務?服務啟動後在瀏覽器中輸入http://localhost進行測試,如果能看到一個"It works!"的頁面就代表Apache已經正常工作了?把tomcat解壓到任意目錄,賦值一個另命名?起名和路徑對配置沒有影響?但要保證端口不要沖突,如果裝有Oracle或IIS的用戶需要修改或關閉相關接口的服務?當然jdk的配置也是必須的,這個不再過多敘述?
想要達到負載均衡的目的,首先,在Apache安裝目錄下找到conf/httpd.conf文件,去掉以下文本前的註釋符(#)以便讓Apache在啟動時自動加載代理(proxy)模塊?
復制代碼 代碼如下:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
向下拉動文檔找到節點,在DirectoryIndex index.html後加上index.jsp,這一步只是為了待會配置完tomcat後能看到小貓首頁,可以不做?繼續下拉文檔找到Include conf/extra/httpd-vhosts.conf,去掉前面的註釋符?
介紹一下再Apache下的Tomcat負載均衡的一些使用問題