负载均衡的实现方式有很多种,这里只介绍三种相对来说成本较低的方案(维护成本以及费用成本)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. Linux学习之CentOS(五)--CentOS下VMware-Tools安装

    已经进入到了Linux学习之CentOS的第六篇随笔了,所以这里就介绍一下VMware-Tools的安装. VMware-Tools的安装 VMware-Tools 主要的功能就是让用户在虚拟机和真实 ...

  2. ZH奶酪:Ionic中(弹出式窗口)的$ionicModal使用方法

    Ionic中[弹出式窗口]有两种(如下图所示),$ionicModal和$ionicPopup; $ionicModal是完整的页面: $ionicPopup是(Dialog)对话框样式的,直接用Ja ...

  3. 初识Redis系列之四:.net使用Redis存储数据

    首先Redis在Windows上的安装前面的文章已经介绍过,这里不介绍了,直奔主题, 直接来看看.net怎么使用Redis 首先需要引用redis相关的dll,两个途径,意识网上下载编译好的dll : ...

  4. python字典无限遍历

    #无限遍历dict,通过key获取value,嵌套字典存在多个相同的key,可获取多个key class getValues(object): def __init__(self): pass #无限 ...

  5. Linux 查看CPU温度

    安装 lm-sensors sudo apt-get install lm-sensors # 安装yes | sudo sensors-detect # 侦测所有感测器 sensors # 查看温度 ...

  6. nodeppt的使用教程

    为什么选择nodeppt 这可能是迄今为止最好的网页版演示库 基于GFM的markdown语法编写 支持html混排,再复杂的demo也可以做! 支持多个皮肤:colors-moon-blue-dar ...

  7. leetcode刷题笔记231 2的幂

    题目描述: 给定一个整数,写一个函数来判断它是否是2的幂. 题目分析: 判断一个整数是不是2的幂,可根据二进制来分析.2的幂如2,4,8,等有一个特点: 二进制数首位为1,其他位为0,如2为10,4为 ...

  8. ACM Misha and Changing Handles

    Misha hacked the Codeforces site. Then he decided to let all the users change their handles. A user ...

  9. Nginx之(一)Nginx是什么

    Nginx("engine x")是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大 ...

  10. tomcat内存溢出解决,java.lang.OutOfMemoryError: PermGen space

    今天遇到了一个java.lang.OutOfMemoryError: PermGen space异常问题,一直解决不了,根据网上修改了tomcat的配置文件,但是还是解决不了,最后是通过如下方式解决的 ...