架構之 apache tomcat 集群和優化

2021-05-23 10:15:33 字數 2476 閱讀 4363

這裡指的是單伺服器分流方式,嚴格來說不叫集群。 由於資金有限,我們只有一台伺服器資源。

沒辦法,只能盡量用軟體條件來優化系統應用效能: 預設tomcat 伺服器,靜態資源處理速度趕不上apache的,因此用了apache和tomcat整合,整合的方案:

靜態頁面html swf等資源,統一交給apache處理,動態資源 *.jspx (我們的服務字尾)交給tomcat處理,apache和tomcat用mod_jk 模組整合。

細節的優化:

tomcat apr優化器 apache併發處理數 tomcat併發處理數 我們應用apache tomcat分別配置到1000+的併發執行緒, 因此預算能支撐1300的併發值。

當然一般情況,web應用,併發的值並不大,一般30~50併發,其實真正瓶頸在於網路頻寬。

apche-tomcat整合攻略:

環境說明 apache : apache_2.0.55 1 個

tomcat: apache-tomcat-5.5.17 2個

mod_jk:: mod_jk-apache-2.0.55.so 1個

第一部分:負載均衡

負載均衡,就是apache將客戶請求均衡的分給tomcat1,tomcat2….去處理

1.安裝apche,tomcat http://httpd.apache.org/

2.修改apache配置檔案http.conf

在apache安裝目錄下conf目錄中找到http.conf 在檔案最後加上下面一句話就可以了 i

nclude 「mod_jk.conf」

2. http.conf 同目錄下新建mod_jk.conf檔案,內容如下

#載入mod_jk module

loadmodule jk_module modules/mod_jk-apache-2.0.55.so

#指定 workers.properties檔案路徑

jkworkersfile conf/workers.properties

#指定那些請求交給tomcat處理,」controller」為在workers.propertise裡指定的負載分配控制器

jkmount /*.jsp controller

3.在http.conf同目錄下新建 workers.properties檔案,內容如下

worker.list = controller,tomcat1,tomcat2

#server 列表

#*****===tomcat1*****===

worker.tomcat1.port=8009

#ajp13 埠號,在tomcat下server.xml配置,預設8009

worker.tomcat1.host=localhost

#tomcat的主機位址,如不為本機,請填寫ip位址

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor = 1

#server的加權比重,值越高,分得的請求越多

#*****===tomcat2*****===

worker.tomcat2.port=9009

#ajp13 埠號,在tomcat下server.xml配置,預設8009 worker.tomcat2.host=localhost #tomcat的主機位址,如不為本機,請填寫ip位址 worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor = 1 #server的加權比重,值越高,分得的請求越多 #*****===controller,負載均衡控制器*****===

worker.controller.type=lb worker.controller.balanced_workers=tomcat1,tomcat2 #指定分擔請求的tomcat worker.controller.sticky_session=1

4.修改tomcat配置檔案server.xml 如果你在不同電腦上安裝tomcat,tomcat的安裝數量為乙個,可以不必修改tomcat配置檔案 我這裡是在同一臺電腦上安裝兩個tomcat,所以需要更改其中乙個的設定 開啟tomcat2/conf/server.xml檔案

5.編寫乙個測試jsp 建立乙個目錄test.裡面新建乙個test.jsp,內容為

6.啟動apache,tomcat1,tomcat2,進行測試 通過 http://localhost/test/test.jsp 訪問,檢視tomcat1的視窗,可以看到列印了一行」**********」 再重新整理一次,tomcat2也列印了一條,再重新整理,可以看到請求會被tomcat1,tomcat2輪流處理

要是需要session複製 得在web.xml中加入:

Apache Tomcat6之閥學習整理

可以簡單地理解,閥就是乙個過濾器,它由引擎來管理,可以嵌入到.容器中,它可以截獲任何的輸入請求和輸出響應,由下圖我們可以很清晰的看出閥的位置 一般的請求 響應流程 輸入請求 engine host context 輸出響應 engine host context 加入閥之後的請求 響應流程 輸入請求...

apache tomcat負載均衡

最近tomcat總是記憶體溢位,於是就多看了一些tomcat的文章,今天恰好也看到了一篇關於tomcat負載均衡的東西 就好奇的配置了一下,感覺很爽,過程中出現了一些問題,做以下簡單的總結 說一下自己簡單的理解,負載均衡就是分擔以下一台伺服器上面的應用的負載,減輕伺服器的壓力,我看到的最簡單的效果就...

apache tomcat 負載均衡

其實無論是分布式,資料快取,還是負載均衡,無非就是改善 的效能瓶頸,在 原始碼不做優化的情況下,負載均衡可以說 是最直接的手段了。其實拋開這個名詞,放開了說,就是希望使用者能夠分流,也就是說把所有使用者的訪問壓力分散到多台伺服器上,也可以 分散到多個tomcat裡,如果一台伺服器裝多個tomcat,...