編程語言 php java

Tomcat負載均衡原理詳解及配置Apache2.2.22+Tomcat7

java HTML我幫您 1年前  3018次瀏覽
負載均衡我們一般采用Apache proxy和Apache+mod_jk方式

所使用軟件:Apache2.2.22  http://httpd.apache.org/download.cgi#apache22;
      Tomcat7  http://tomcat.apache.org/download-70.cgi

mod_proxy_blancer方式
  mod_proxy_balancer是mod_proxy的擴展,提供負載平衡支持,通過mod_proxy_balancer.so包實現負載平衡,公司生產服務器暫時就采用這種方式。
  修改apache的httpd.conf文件配置
打開httpd.conf文件,取消下面四行的注釋,用以打開代理所需的.so支持模塊。
View Code
1 #LoadModule proxy_http_module modules/mod_proxy_http.so
2 #LoadModule proxy_connect_module modules/mod_proxy_connect.so
3 #LoadModule proxy_module modules/mod_proxy.so
4 #LoadModule proxy_module modules/mod_proxy_blancer.so
在httpd.conf文件最后添加以下代碼:
1)輪詢均衡策略的配置
ProxyPass / balancer://proxy/

BalancerMember http://127.0.0.1:8080/
BalancerMember http://127.0.0.1:8081/

實現負載均衡的原理如下:
假設Apache接收到http://localhost/test請求,由于該請求滿足ProxyPass條件(其URL前綴為“/"),該請求會 被分發到后臺某一個BalancerMember,譬如,該請求可能會轉發到

http://127.0.0.1:8080/進行處理?當第二 個滿足條件的URL請求過來時,該請求可能會被分發到另外一臺BalancerMember,譬如,可能會轉發到 http://127.0.0.1:8081/如此循環反

復,便實現了負載均衡的機制?
2)按權重分配均衡策略的配置
ProxyPass / balancer://proxy/

BalancerMember http://127.0.0.1:8080/loadfactor=3
BalancerMember http://127.0.0.1:8081/loadfactor=1

參數"loadfactor"表示后臺服務器負載到由Apache發送請 求的權值,該值默認為1,可以將該值設置為1到100之間的任何值?以上面 的配置為例,介紹如何實現按權重分配的負載均衡

,現假設Apache收到http://myserver/test 4次這樣的請求,該請求分別被負載到后臺 服務器,則有3次連續的這樣請求被負載到BalancerMember為http://127.0.0.1:8080/的服務器

,有1次這樣的請求被 負載BalancerMember為http://127.0.0.1:8081/后臺服務器?實現了按照權重連續分配的均衡策略?
3)權重請求響應負載均衡策略的配置
ProxyPass / balancer://proxy/ lbmethod=bytraffic

BalancerMember http://127.0.0.1:8080/loadfactor=3
BalancerMember http://127.0.0.1:8081/loadfactor=1

參數“lbmethod=bytraffic"表示后臺服務器負載請求和 響應的字節數,處理字節數的多少是以權值的方式來表示的? “loadfactor"表示后臺服務器處理負載請求和響應字節數的

權值,該值默認為1,可以將該值設置在1到100的任何值?根據以上配置是這么進行均 衡負載的,假設Apache接收到http://myserver/test請求,將請求轉發給后臺服務器,如果

BalancerMember為http://127.0.0.1:8080/后臺服務器負載到這個請求,那么它處理請求和響應的字節數是BalancerMember為http://127.0.0.1:8081/服務器的3倍(回想(2)均衡配

置,(2)是以請求數作為權重負載均衡的,(3)是以流量為權重負載均衡的,這是 最大的區別)?


tomcat配置

#此處修改為9005,避免與tomcat1的8005沖突
…………
…………
connectionTimeout="20000"
redirectPort="8443" /> #此處修改為8081,避免與tomcat1的8080沖突
…………
Define an AJP 1.3 Connector on port 8009
#此處修改為9009,避免與tomcat1的8009沖突。如果使用的是mod_proxy_blancer方式此處可以注釋

掉,如果使用的是mod_jk方式則此處必須存在


把發布的工程做為根目錄配置
里增加以下配置
如需session復制功能此步驟為必須操作
  打開項目的WEB-INF下的web.xml在內添加標簽,如果沒有則手動建立目錄結構

發表評論

经典黑杰克游戏 内蒙福利彩票开奖结果 腾讯分分彩和qq分分彩 王者荣耀助手下载 三国风云单机版破解版 浙江快乐12彩开奖号 斗地主斗现金 今晚14场足彩对阵表 象棋入门基础知识 老时时彩重庆 福彩3d一等奖多少钱 云南快乐十分开前三直 福彩3d预测号码 重庆真人麻将微信群 精准十码特围 彩票网站 佳运彩票安卓