负载均衡的实现方式有很多种,这里只介绍三种相对来说成本较低的方案(维护成本以及费用成本)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自带的配置如下:

  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. |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处理。 



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 

在原有的配置最后增加如下片段

  1. ######################## weblogic plugin ##########################
  2. LoadModule weblogic_module modules/mod_wl_22.so
  3. <IfModule mod_weblogic.c>
  4. ,127.0.0.1:7102
  5. MatchExpression */servlet/*
  6. MatchExpression *.jsp
  7. MatchExpression *.action
  8. Debug OFF
  9. </IfModule>

主要就是设置WebLogicCluster,根据集群的server列表来设置。 

注意:我这里设置的Listen端口号是8001,所以下面测试访问这个端口 

4)测试 





3、nginx方式: 

1)下载nginx并安装(我这里是windows环境,下载地址是: 

http://nginx.org/en/download.html) 

2)简单配置nginx: 

修改nginx/conf/nginx.conf文件,开发、学习情况,只需要简单的增加如下配置即可:

  1. upstream  weblogic {
  2. weight=10;
  3. weight=10;
  4. }
  5. server {
  6. ;
  7. server_name  weblogic;
  8. #charset koi8-r;
  9. #access_log  logs/host.access.log  main;
  10. location / {
  11. #root   html;
  12. #index  index.html index.htm;
  13. proxy_pass http://weblogic;
  14. }
  15. ……
  16. }

具体的意义,可以从网上找资料,这里不做详解。 

3)运行 

直接双击nginx.exe就可以了。 

4)测试: 

我这里配置的listen端口号是8001,测试如图所示: 





可以查看进程列表,有nginx的进程在运行,同时可以查看nginx的logs目录下的access.log,http请求的日志都能看到。我的日志也贴上吧:

  1. /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)"
  2. /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)"
  3. /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)"
  4. /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. /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. /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. /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. /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)"
  9. /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)"
  10. /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)"
  11. /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)"
  12. /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)"
  13. /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集群中涉及的概念、原理……敬请期待。

WebLogic11g-负载分发的更多相关文章

  1. weblogic负载分发

    博客分类: weblogic 负载均衡的实现方式有很多种,这里只介绍三种相对来说成本较低的方案(维护成本以及费用成本)weblogic自带的proxy.apache.nginx 1.weblogic自 ...

  2. k8s之HTTP请求负载分发

    一.导读 对于基于HTTP的服务来说,不同的URL地址经常对应不同的后端服务或者虚拟服务器,通常的做法是在应用前添加一个反向代理服务器Nginx,进行请求的负载转发,在Spring Cloud这个微服 ...

  3. Linux巩固记录(9) keepalived+nginx搭建高可用负载分发环境

    环境准备(继续服用hadoop节点) slave1  192.168.2.201(CentOs 7) slave2  192.168.2.202(CentOs 7) slave1 和 slave2 上 ...

  4. 实现跨云应用——基于DNS的负载均衡

    “公有云可以作为传统IT资源的延展,能帮助客户应对不断变化的需求”——这是我们在向客户介绍公有云产品时经常说的一句话.我们来看一个具体的需求: 某客户有一个web站点,部署在自有的数据中心(on-pr ...

  5. DB层面上的设计 分库分表 读写分离 集群化 负载均衡

    第1章  引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的 互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载.对于系统的稳定性和扩展性造成了极大的 ...

  6. Ubuntu下配置 keepalived+nginx+tomcat 负载均衡

    本文力图阐述在 Ubuntu Server 环境下使用 Keepalived + Nginx + Tomcat 搭建高可用负载均衡环境的操作步骤和简约配置,这里不涉及性能调优.先说一下他们各自扮演的角 ...

  7. Weblogic 12c 负载均衡和session复制

    在上一篇,我们介绍了weblogic集群的部署和session的复制,如何将请求负载均衡到这个三个服务器上呢? 这里提供两种方式:(1)weblogic自带的proxy代理        (2) ng ...

  8. Nginx(四)------nginx 负载均衡

    在上一篇博客我们介绍了 Nginx 一个很重要的功能——代理,包括正向代理和反向代理.这两个代理的核心区别是:正向代理代理的是客户端,而反向代理代理的是服务器.其中我们又重点介绍了反向代理,以及如何通 ...

  9. nginx负载均衡总结

    在关于高并发负载均衡一文中已经提到,企业在解决高并发问题时,一般有两个方向的处理策略,软件.硬件,硬件上添加负载均衡器分发大量请求,软件上可在高并发瓶颈处:数据库+web服务器两处添加解决方案,其中w ...

随机推荐

  1. Debugging TensorFlow models 调试 TensorFlow 模型

    Debugging TensorFlow models Symbolic nature of TensorFlow makes it relatively more difficult to debu ...

  2. RandomAccessFile&IO流&排序&方法论

    RandomAccessFile&IO流&排序&方法论 我们总觉得历史是极其遥远的东西,与我们并无关联,又觉得历史隐藏在图书馆的旧书之中. 然而,我们每个人都有真真切切的历史. ...

  3. git使用之错误分析及解决(持续更新)

    错误一: 使用 $ git push -u origin master 出现如下错误: error: src refspec master does not match any. error: fai ...

  4. 基于Java配置Spring加Hibernate和再加SpringData时的差别

    先在类路径application.properties jdbc.driverClassName = org.postgresql.Driver jdbc.url = jdbc:postgresql: ...

  5. 建立自己的git服务器

    需求情景 就像金山快盘同步盘那样, 在开发环境windows 10和部署环境Ubuntu server 14.04之间建立同步关系.比如windows端多了一个a.txt文件,你推送后,Ubuntu端 ...

  6. Kafka系列之-自定义Producer

    前面已经讲到了,在Kafka中,Message是由Producer产生的,Producer产生的Message会发送到Topic的指定Partition中.Producer可以有多种形式,也可以由用户 ...

  7. android launcher 之踩到的坑

    需求: 1. 用android系统launcher 隐藏主菜单 所有应用显示在桌面 即workspace上: 2.隐藏launcher上方默认的google search: 3.切换一套launche ...

  8. Android 开发环境的搭建(新环境)

    最近想往Android 转型,所以又重新捡起Android学习.看了一下各位大神的文章,说的比较乱,因为版本不一样所以搭建过程也不一样,我在这里说一下最简单快捷的方式.(PS:那时候搭建环境好复杂啊, ...

  9. Android图表库MPAndroidChart(九)——神神秘秘的散点图

    Android图表库MPAndroidChart(九)--神神秘秘的散点图 今天所的散点图可能用的人不多,但是也算是图表界的一股清流,我们来看下实际的效果 添加的数据有点少,但是足以表示散点图了,我们 ...

  10. Memcached - Base

    Memcached 标签 : Java与NoSQL 在程序的实现中, 经常会忽略程序的运行时间. 即使采用类似的实现方法, 有时候运行速度也会相差很多. 大多数情况下, 这一速度上的差异是由数据访问速 ...