生活随笔
收集整理的這篇文章主要介紹了
weblogic负载分发
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
博客分類:
負載均衡的實現方式有很多種,這里只介紹三種相對來說成本較低的方案(維護成本以及費用成本)weblogic自帶的proxy、apache、nginx
1、weblogic自帶的proxy方式:
1)需要新建proxy服務器
2)配置proxy的ip、端口,這里設置為7100
3)配置SSL的主機名驗證為“無”
4)添加到machine管理
5)部署proxy應用
6)在服務器列表中啟動三個server
7)測試
proxy應用的代碼我壓縮打包上傳了
主要就是配置web的servlet,攔截所有的請求,weblogic自帶的配置如下:
Java代碼 ?
<!DOCTYPE?web-app?PUBLIC?"-//Sun?Microsystems,?Inc.//DTD?Web?Application?2.3//EN"?"http://java.sun.com/dtd/web-app_2_3.dtd">??<web-app>??<servlet>??<servlet-name>HttpClusterServlet</servlet-name>??<servlet-class>weblogic.servlet.proxy.HttpClusterServlet</servlet-class>??<init-param>??<param-name>WebLogicCluster</param-name>??<param-value>127.0.0.1:7101|127.0.0.1:7102</param-value>??</init-param>??</servlet>??<servlet-mapping>??<servlet-name>HttpClusterServlet</servlet-name>??<url-pattern>/</url-pattern>??</servlet-mapping>??<servlet-mapping>??<servlet-name>HttpClusterServlet</servlet-name>??<url-pattern>*.jsp</url-pattern>??</servlet-mapping>??<servlet-mapping>??<servlet-name>HttpClusterServlet</servlet-name>??<url-pattern>*.jspx</url-pattern>??</servlet-mapping>??<servlet-mapping>??<servlet-name>HttpClusterServlet</servlet-name>??<url-pattern>*.htm</url-pattern>??</servlet-mapping>??<servlet-mapping>??<servlet-name>HttpClusterServlet</servlet-name>??<url-pattern>*.html</url-pattern>??</servlet-mapping>??<servlet-mapping>??<servlet-name>HttpClusterServlet</servlet-name>??<url-pattern>*.jpd</url-pattern>??</servlet-mapping>??<servlet-mapping>??<servlet-name>HttpClusterServlet</servlet-name>??<url-pattern>*.jcx</url-pattern>??</servlet-mapping>??<servlet-mapping>??<servlet-name>HttpClusterServlet</servlet-name>??<url-pattern>*.dtf</url-pattern>??</servlet-mapping>??<servlet-mapping>??<servlet-name>HttpClusterServlet</servlet-name>??<url-pattern>*.jws</url-pattern>??</servlet-mapping>??</web-app>?? 實際上,這個proxy內部會檢測server的狀態、負載情況,然后根據算法再將請求轉發給具體的server處理。
2、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代碼 ?
Listen?8001??########################?weblogic?plugin?##########################??LoadModule?weblogic_module?modules/mod_wl_22.so????<IfModule?mod_weblogic.c>??????????WebLogicCluster?127.0.0.1:7101,127.0.0.1:7102??????????MatchExpression?*/servlet/*??????????MatchExpression?*.jsp??????????MatchExpression?*.action??????????Debug?OFF??</IfModule>?? 主要就是設置WebLogicCluster,根據集群的server列表來設置。
注意:我這里設置的Listen端口號是8001,所以下面測試訪問這個端口
4)測試
3、nginx方式:
1)下載nginx并安裝(我這里是windows環境,下載地址是:
http://nginx.org/en/download.html)
2)簡單配置nginx:
修改nginx/conf/nginx.conf文件,開發、學習情況,只需要簡單的增加如下配置即可:
Java代碼 ?
???upstream??weblogic?{??????????server?127.0.0.1:7101?weight=10;??server?127.0.0.1:7102?weight=10;?????}???????server?{?????????listen???????8001;?????????server_name??weblogic;???????????#charset?koi8-r;???????????#access_log??logs/host.access.log??main;???????????location?/?{?????????????#root???html;?????????????#index??index.html?index.htm;??????proxy_pass?http:???????}?????????……???????}?? 具體的意義,可以從網上找資料,這里不做詳解。
3)運行
直接雙擊nginx.exe就可以了。
4)測試:
我這里配置的listen端口號是8001,測試如圖所示:
可以查看進程列表,有nginx的進程在運行,同時可以查看nginx的logs目錄下的access.log,http請求的日志都能看到。我的日志也貼上吧:
Java代碼 ?
127.0.0.1?-?-?[16/Sep/2013:16:55:12?+0800]?"GET?/weblogic?HTTP/1.1"?499?0?"-"?"Mozilla/5.0?(compatible;?MSIE?10.0;?Windows?NT?6.1;?Trident/6.0)"??127.0.0.1?-?-?[16/Sep/2013:16:55:15?+0800]?"GET?/weblogic?HTTP/1.1"?499?0?"-"?"Mozilla/5.0?(compatible;?MSIE?10.0;?Windows?NT?6.1;?Trident/6.0)"??127.0.0.1?-?-?[16/Sep/2013:16:56:23?+0800]?"GET?/?HTTP/1.1"?499?0?"-"?"Mozilla/5.0?(compatible;?MSIE?10.0;?Windows?NT?6.1;?Trident/6.0)"??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)"??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)"??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)"??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)"??127.0.0.1?-?-?[16/Sep/2013:16:58:52?+0800]?"GET?/mini-web-cluster/css/style.css?HTTP/1.1"?304?0?"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)"??127.0.0.1?-?-?[16/Sep/2013:16:58:52?+0800]?"GET?/mini-web-cluster/css/yui.css?HTTP/1.1"?304?0?"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)"??127.0.0.1?-?-?[16/Sep/2013:16:58:52?+0800]?"GET?/mini-web-cluster/js/validate/jquery.validate.js?HTTP/1.1"?304?0?"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)"??127.0.0.1?-?-?[16/Sep/2013:16:58:52?+0800]?"GET?/mini-web-cluster/js/validate/messages_cn.js?HTTP/1.1"?304?0?"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)"??127.0.0.1?-?-?[16/Sep/2013:16:58:52?+0800]?"GET?/mini-web-cluster/js/jquery.js?HTTP/1.1"?304?0?"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)"??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)"?? 這篇僅僅介紹負載分發的幾種方式,也都是簡單的配置,實際環境下還需要做相關性能測試以及配置動靜分離,減少后端服務的壓力。
總結
以上是生活随笔為你收集整理的weblogic负载分发的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。