博客分类:

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

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. Listen 8001
  2. ######################## weblogic plugin ##########################
  3. LoadModule weblogic_module modules/mod_wl_22.so
  4. <IfModule mod_weblogic.c>
  5. WebLogicCluster 127.0.0.1:7101,127.0.0.1:7102
  6. MatchExpression */servlet/*
  7. MatchExpression *.jsp
  8. MatchExpression *.action
  9. Debug OFF
  10. </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. server 127.0.0.1:7101 weight=10;
  3. server 127.0.0.1:7102 weight=10;
  4. }
  5. server {
  6. listen       8001;
  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. 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)"
  2. 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)"
  3. 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)"
  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 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. 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)"
  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 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. 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)"
  12. 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)"
  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)"

这篇仅仅介绍负载分发的几种方式,也都是简单的配置,实际环境下还需要做相关性能测试以及配置动静分离,减少后端服务的压力。

weblogic负载分发的更多相关文章

  1. k8s之HTTP请求负载分发

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

  2. Docker实践4: 基于nginx对后端的weblogic负载均衡

    为什么要用Nginx(抄了一段) 1.nginx相对于apache的优点: 轻量级,同样起web服务,比apache占用更少的内存及资源 抗并发,nginx处理请求是异步非阻塞的,而apache则是阻 ...

  3. 使用nginx代理weblogic负载方案

    之前一直用apache来做weblogic的前端,由于nginx对静态内容的出色性能,不得不转投nginx.这里就不 再写weblogic的安装了. 安装nginx nginx需要pcre做支持,一般 ...

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

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

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

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

  6. WebLogic11g-负载分发

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

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

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

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

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

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

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

随机推荐

  1. dirname, basename - 分析路径成员

    总览 (SYNOPSIS) #include <libgen.h> char *dirname(char *path); char *basename(char *path); 描述 (D ...

  2. diff - 找出两个文件的不同点

    总览 diff [选项] 源文件 目标文件 描述 在最简单的情况是, diff 比较两个文件的内容 (源文件 和 目标文件). 文件名可以是 - 由标准输入设备读入的文本. 作为特别的情况是, dif ...

  3. 解决for循环下变量显示一致的问题

    for(var i=0;i<10;i++){ setTimeOut(function(){ console.log("i:",i); },100) } 上面显示的打印出来结果 ...

  4. 制作SD更新系统时和用mfgtool工具烧录时,文件如何替换?

    制作SD更新系统时和用mfgtool工具烧录时,文件如何替换? 答:制作SD更新系统时,请按照需求选择不同mfgimages-myd*文件夹.每个文件夹里面有一个Manifest文件, 里面规定了ub ...

  5. JS 手机号中间4位变星号

    一:正则方法 var str1 = '13991367972'var reg = /^(\d{3})\d*(\d{4})$/;var str2 = str1.replace(reg,'$1****$2 ...

  6. 14. PARAMETERS

    14. PARAMETERS PARAMETERS表提供有关存储例程(存储过程和存储函数)的参数以及存储函数的返回值的信息. PARAMETERS表不包含内置SQL函数或用户定义函数(UDF). 参数 ...

  7. django扩展User模型(model),profile

    from django.contrib.auth.models import User # Create your models here. class Profile(models.Model): ...

  8. python抓取知识星球精选帖,制作为pdf文件

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/90 背景: 这两年知识付费越来越热,我也加入了不少知识星球 ...

  9. POJ 2349 Arctic Network(贪心 最小生成树)

    题意: 给定n个点, 要求修p-1条路使其连通, 但是现在有s个卫星, 每两个卫星可以免费构成连通(意思是不需要修路了), 问修的路最长距离是多少. 分析: s个卫星可以代替s-1条路, 所以只要求最 ...

  10. [Noip2017][Day 1][T1]玩具谜题(toy.cpp)

    题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外.如下图: 这时singer告诉 ...