php开源嘛
首页 | English | MySql数据库 | Php编程 | 建站杂烩 | 系统服务器 | 资源共享 | 专题 | 才桀网 | 支持论坛
  当前位置:主页>系统服务器>文章内容
Apache+Tomcat负载平衡设置方法详细解析
来源:网络 作者:未知 发布时间:2007-07-27  

这意味着一个带有session id的请求到达lb_worker时,相应的worker(根据权值排序,权值最大的那个worker)将被确定作为此请求的接受/处理者。如果这个worker死掉/当机,请求将被发送到处于非错误状态的第一个local worker;如果一个没有session id的请求到达lb_worker时,此请求将被路由到第一个local worker。如果所有的local worker均处于错误状态,则这时“local_worker_only”标志显得尤其重要。如果local_worker_only的属性值为非0,则它被设置为 JK_TRUE,否则被设置为 JK_FALSE。当它被设置为 JK_TRUE时,这个没有session id的请求将得到一个错误作为回应,否则lb_worker将尝试将请求路由到其它的被管理的worker上。如果其中的一个worker处于错误状态,并且恢复会话的工作并没有任何改变,local worker将查找这个没有session id的请求(因为在local worker中保存有这个请求的session),而其它的worker只能查找带有session id的请求。

注意:local_worker默认值是0,local_worker_only默认值也是0。

6.为什么需要这么复杂的过程吗?

因为我们对于一个关闭的节点需要一个具有灵性的维护。

在节点前面的平衡器周期性的对每个节点的特定端口进行查询。如果我们从集群中移走一个节点,我们就会隐性的关闭掉这个特定的端口。由于负载平衡器不能连接它,这个节点将被标记为down。但是我们没有移动在那个关闭的节点上的session到其它的节点上。在这个环境下,如果平衡器发送一个没有session id的请求到一个端口被关掉的节点,那么一个错误将发生。如果平衡器测试到一个节点被标记为down的状态,而没有其它的节点允许发送没有session id的请求。这样这些陈旧的session请求就只有路由到那个被关闭的节点才能被接受。在一段时间后,这些陈旧的session将超时。由于所有的陈旧的session过期,那个不可达(被关闭)的节点将失去这个请求。同时也会导致我们的servlet系统发送一个没有session id的重定向回应给浏览器。

但是可能被关闭的节点将会up,重新加入到集群中来,在它上面仍将保留着陈旧的session。所以在最后一个session超时后,更新节点能够为陈旧的session的恢复带来希望,而不是杀掉sessions或者把它们移到其它节点上。而且有时如果那些陈旧的session中有许多big的对象,那么移动它们也将花费许多时间。

7.jni类型的Worker属性:

jni worker会在web server进程中打开一个JVM,并在其中执行Tomcat,这叫做“进程内”worker。来往于JVM的消息将通过调用JNI方法被传递,这使jni worker比那些需要使用ajp消息通讯的“进程外”worker执行的更快。

注意:由于JVM是多线程的,jni worker应该只被用于在支持对线程的web server(AOLServer, IIS, Netscape and Apache 2.0)上。同时还应该确认在web server上使用的线程方案是否与被使用的JK web server插件相匹配。

由于jni worker 打开了一个JVM,它将接受一些属性(例如classpath等)并将其传递给JVM:

worker.worker名.class_path:“进程内”的JVM要使用的classpath。它将包括所有的Tomcat的jar文件和class、配置文件等。

为了获得JSP编译器的支持,我们需要将Javac添加到classpath中。当然对于Java2需要添加tools.jar到classpath,而对于JDK1.xx则要添加classes.zip到classpath。

worker.worker名.class_path:用于以多行的形式声明多个classpath。JK环境将用“:”或者“;”把这些classpath;连接起来。

例如:给名为“wrkjni”的worker设置classpath。

worker.wrkjni.class_path=/var/tomcat3/lib/tomcat.jarworker.wrkjni.class_path=/opt/IBMJava2-131/lib/tools.jar

worker.worker名.bridge:用于标识将通过JNI方式被使用的Tomcat的类型。此属性目前有两个属性值:tomcat32 or tomcat33。Tomcat 3.2.x虽然已经过时,但是被提供用于发布在一些类似iSeries系统上。此属性的默认值为tomcat33。

例如:给“wrkjni”设置bridge类型为tomcat3.3。

worker.wrkjni.bridge=tomcat33

worker.worker名.cmd_line: 此属性提供了在Tomcat启动代码执行的命令行。使用时将命令行的命令、参数分解为多个cmd_line属性。JK环境通过在各个cmd_line属性值之间添加空格将这些cmd_line连接在一起。

例如:设置“wrkjni”的cmd_line属性。

worker.wrkjni.cmd_line=-configworker.wrkjni.cmd_line=/etc/tomcat3/conf/alt-server.xmlworker.wrkjni.cmd_line=-homeworker.wrkjni.cmd_line=/var/tomcat3

上面例子中的第一行声明了-config参数名,而第二行声明了与之对应的参数值。第三行与第四行同理。

worker.worker名.jvm_lib:用于声明JVM的实现库的完整路径。Jni worker使用这个路径动态装载JVM。

例如:设置“wrkjni”的JVM shared lib (IBM SDK on Linux)。

worker.wrkjni.jvm_lib=/opt/IBMJava2-131/jre/bin/classic/libjvm.so

例如:设置“wrkjni”的JVM shared lib (Sun SDK on Windows)。

worker.wrkjni.jvm_lib=c:\JDK\1.3.1\jre\bin\classic

worker.worker名.stdout:设置JVM写它的System.out的完整路径位置。

例如:将“wrkjni”的JVM系统输出路径设置为/var/log/http/jk-jvm-out.log。

worker.wrkjni.stdout=/var/log/http/jk-jvm-out.log

worker.worker名.stderr:设置JVM写它的System.err的完整路径位置。

例如:将“wrkjni”的JVM系统错误输出路径设置为/var/log/http/jk-jvm-err.log

worker.wrkjni.stderr=/var/log/http/jk-jvm-out.log

worker.worker名.ms:设置JVM的初始堆大小。

例如:设置“wrkjni”的JVM的初始堆为64M。

worker.wrkjni.ms=64

worker.worker名.mx:设置JVM的最大的堆大小。

例如:设置“wrkjni”的JVM堆最大为128M

worker.wrkjni.mx=128

worker.worker名.sysprops:设置JVM的系统属性。
(阅读次数:

共4页: 上一页 [1] [2] 3 [4] 下一页
上一篇:Apache与Tomcat整合的简单方法:linux系统   下一篇:Jboss4.0下对MySql数据源的设置方法
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·Linux配置web服务器全攻略
·Linux系统下Apache服务器设置与
·win中整合配置PHP和MySQL经典教
·Apache日志分析工具--AWStats安
·Apache中httpd.conf文件配置详解
·Linux嵌入式开发环境的简单介绍
·Linux系统下PHP服务器安全配置技
·Linux网络基本网络配置方法介绍
·配置Apache服务器并且设置DNS
·Linux系统Apache用户授权和访问
·Apache伪静态html(URL Rewrite)
·Apache指南: .htaccess文件使用
  相关文章
·Apache与Tomcat整合的简单方法:l
·Linux脚本开发数学库在PHP中的重
·两个多月做包月广告的一点心得
·在Linux系统下建立强大的FTP搜索
·Linux安全攻略 服务器与网络设备
·linux下的sendmail的配置
·Linux下建立Mysql镜像数据库
·Linux嵌入式开发环境的简单介绍
·使用 Linux 应用服务器场的远程
·Linux系统下查CPU个数的方法
·Linux操作系统中用PHP构建网站详
·L.A.M.P 环境配置文档之服务器

关于我们 | 本站声明 | 友情连接 | 诚邀加盟 | 网站地图
版权Power by DedeCms   技术支持QQ =>> 罗江游鱼   Jacking  后台登陆
Copyright @ 2007 公司地址:柳州市东环路268号 邮编:545006 电话:15920389818 桂ICP备07006725号