欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

weblogic负载分发

发布时间:2025/5/22 编程问答 45 豆豆
生活随笔 收集整理的这篇文章主要介绍了 weblogic负载分发 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 

博客分类:

  • 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://weblogic;  
  •        }  
  •        ……  
  •      }  

  • 具体的意义,可以从网上找资料,这里不做详解。
    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 "-" "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 "-" "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 "-" "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 "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 "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 "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 "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 "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负载分发的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。