weblogic負載分發

 

博客分類:css

負載均衡的實現方式有不少種,這裏只介紹三種相對來講成本較低的方案(維護成本以及費用成本)weblogic自帶的proxy、apache、nginx

一、weblogic自帶的proxy方式:
1)須要新建proxy服務器

2)配置proxy的ip、端口,這裏設置爲7100

3)配置SSL的主機名驗證爲「無」

4)添加到machine管理


5)部署proxy應用


6)在服務器列表中啓動三個server

7)測試


proxy應用的代碼我壓縮打包上傳了
主要就是配置web的servlet,攔截全部的請求,weblogic自帶的配置以下:
Java代碼   收藏代碼
  1. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">  
  2. <web-app>  
  3. <servlet>  
  4. <servlet-name>HttpClusterServlet</servlet-name>  
  5. <servlet-class>weblogic.servlet.proxy.HttpClusterServlet</servlet-class>  
  6. <init-param>  
  7. <param-name>WebLogicCluster</param-name>  
  8. <param-value>127.0.0.1:7101|127.0.0.1:7102</param-value>  
  9. </init-param>  
  10. </servlet>  
  11. <servlet-mapping>  
  12. <servlet-name>HttpClusterServlet</servlet-name>  
  13. <url-pattern>/</url-pattern>  
  14. </servlet-mapping>  
  15. <servlet-mapping>  
  16. <servlet-name>HttpClusterServlet</servlet-name>  
  17. <url-pattern>*.jsp</url-pattern>  
  18. </servlet-mapping>  
  19. <servlet-mapping>  
  20. <servlet-name>HttpClusterServlet</servlet-name>  
  21. <url-pattern>*.jspx</url-pattern>  
  22. </servlet-mapping>  
  23. <servlet-mapping>  
  24. <servlet-name>HttpClusterServlet</servlet-name>  
  25. <url-pattern>*.htm</url-pattern>  
  26. </servlet-mapping>  
  27. <servlet-mapping>  
  28. <servlet-name>HttpClusterServlet</servlet-name>  
  29. <url-pattern>*.html</url-pattern>  
  30. </servlet-mapping>  
  31. <servlet-mapping>  
  32. <servlet-name>HttpClusterServlet</servlet-name>  
  33. <url-pattern>*.jpd</url-pattern>  
  34. </servlet-mapping>  
  35. <servlet-mapping>  
  36. <servlet-name>HttpClusterServlet</servlet-name>  
  37. <url-pattern>*.jcx</url-pattern>  
  38. </servlet-mapping>  
  39. <servlet-mapping>  
  40. <servlet-name>HttpClusterServlet</servlet-name>  
  41. <url-pattern>*.dtf</url-pattern>  
  42. </servlet-mapping>  
  43. <servlet-mapping>  
  44. <servlet-name>HttpClusterServlet</servlet-name>  
  45. <url-pattern>*.jws</url-pattern>  
  46. </servlet-mapping>  
  47. </web-app>  

實際上,這個proxy內部會檢測server的狀態、負載狀況,而後根據算法再將請求轉發給具體的server處理。

二、apache方式:
1)下載apache,安裝過程就不介紹了。下載地址爲:
http://httpd.apache.org/download.cgi
2)添加weblogic插件:
weblogic11g的插件位置是:
D:\server\weblogic11\wlserver_10.3\server\plugin\win\32
注意這裏與weblogic較早的版本位置不一樣。具體庫所在目錄根據操做系統版本及位數決定,個人是32位操做系統,因此就是這個目錄下的mod_wl_22.so複製到apache的modules文件夾下
3)配置apache
在原有的配置最後增長以下片斷
Java代碼   收藏代碼
  1. Listen 8001  
  2. ######################## weblogic plugin ##########################  
  3. LoadModule weblogic_module modules/mod_wl_22.so  
  4.   
  5. <IfModule mod_weblogic.c>  
  6.         WebLogicCluster 127.0.0.1:7101,127.0.0.1:7102  
  7.         MatchExpression */servlet/*  
  8.         MatchExpression *.jsp  
  9.         MatchExpression *.action  
  10.         Debug OFF  
  11. </IfModule>  

主要就是設置WebLogicCluster,根據集羣的server列表來設置。
注意:我這裏設置的Listen端口號是8001,因此下面測試訪問這個端口
4)測試


三、nginx方式:
1)下載nginx並安裝(我這裏是windows環境,下載地址是:
http://nginx.org/en/download.html
2)簡單配置nginx:
修改nginx/conf/nginx.conf文件,開發、學習狀況,只須要簡單的增長以下配置便可:
Java代碼   收藏代碼
  1.    upstream  weblogic {  
  2.         server 127.0.0.1:7101 weight=10;  
  3. server 127.0.0.1:7102 weight=10;  
  4.    }  
  5.   
  6.    server {  
  7.        listen       8001;  
  8.        server_name  weblogic;  
  9.   
  10.        #charset koi8-r;  
  11.   
  12.        #access_log  logs/host.access.log  main;  
  13.   
  14.        location / {  
  15.            #root   html;  
  16.            #index  index.html index.htm;  
  17.     proxy_pass http://weblogic;  
  18.        }  
  19.        ……  
  20.      }  

具體的意義,能夠從網上找資料,這裏不作詳解。
3)運行
直接雙擊nginx.exe就能夠了。
4)測試:
我這裏配置的listen端口號是8001,測試如圖所示:


能夠查看進程列表,有nginx的進程在運行,同時能夠查看nginx的logs目錄下的access.log,http請求的日誌都能看到。個人日誌也貼上吧:
Java代碼   收藏代碼
  1. 127.0.0.1 - - [16/Sep/2013:16:55:12 +0800] "GET /weblogic HTTP/1.1" 499 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"  
  2. 127.0.0.1 - - [16/Sep/2013:16:55:15 +0800] "GET /weblogic HTTP/1.1" 499 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"  
  3. 127.0.0.1 - - [16/Sep/2013:16:56:23 +0800] "GET / HTTP/1.1" 499 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"  
  4. 127.0.0.1 - - [16/Sep/2013:16:58:50 +0800] "GET /mini-web-cluster HTTP/1.1" 302 273 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"  
  5. 127.0.0.1 - - [16/Sep/2013:16:58:50 +0800] "GET /mini-web-cluster/ HTTP/1.1" 302 311 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"  
  6. 127.0.0.1 - - [16/Sep/2013:16:58:51 +0800] "GET /mini-web-cluster/account/user.action HTTP/1.1" 302 297 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"  
  7. 127.0.0.1 - - [16/Sep/2013:16:58:52 +0800] "GET /mini-web-cluster/login.action HTTP/1.1" 200 2416 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"  
  8. 127.0.0.1 - - [16/Sep/2013:16:58:52 +0800] "GET /mini-web-cluster/css/style.css HTTP/1.1" 304 "http://127.0.0.1:8001/mini-web-cluster/login.action" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"  
  9. 127.0.0.1 - - [16/Sep/2013:16:58:52 +0800] "GET /mini-web-cluster/css/yui.css HTTP/1.1" 304 "http://127.0.0.1:8001/mini-web-cluster/login.action" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"  
  10. 127.0.0.1 - - [16/Sep/2013:16:58:52 +0800] "GET /mini-web-cluster/js/validate/jquery.validate.js HTTP/1.1" 304 "http://127.0.0.1:8001/mini-web-cluster/login.action" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"  
  11. 127.0.0.1 - - [16/Sep/2013:16:58:52 +0800] "GET /mini-web-cluster/js/validate/messages_cn.js HTTP/1.1" 304 "http://127.0.0.1:8001/mini-web-cluster/login.action" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"  
  12. 127.0.0.1 - - [16/Sep/2013:16:58:52 +0800] "GET /mini-web-cluster/js/jquery.js HTTP/1.1" 304 "http://127.0.0.1:8001/mini-web-cluster/login.action" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"  
  13. 127.0.0.1 - - [16/Sep/2013:16:58:52 +0800] "GET /favicon.ico HTTP/1.1" 404 1214 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"  
這篇僅僅介紹負載分發的幾種方式,也都是簡單的配置,實際環境下還須要作相關性能測試以及配置動靜分離,減小後端服務的壓力。
相關文章
相關標籤/搜索