Apache Tomcat负载平衡设置方法

文章作者 100test 发表时间 2007:08:01 12:44:30
来源 100Test.Com百考试题网


一、简介:

  每个Tomcat worker是一个服务于web server、等待执行servlet的Tomcat实例。例如我们经常使用像Apache之类的web server转发sevlet请求给位于其后面的一个Tomcat进程(也就是前面所说的worker)。本文详细介绍了如何配置各种类型worker和loadbalance,并说明了各种类型worker的特性和loadbalance配置的原理。

  二、为什么使用Tomcat workers:

  上文描述了一个非常简单的结构,事实上能够配置多个Tomcat workers来处理web server转发的servlet请求。而这样配置的理由不外乎以下几种假想环境:

  * 我们在开发环境中发布不同的Tomcat workers为各自不同的应用服务。当然在开发环境中的开发者共享同一个web server,但是每个Tomcat worke服务于拥有它的开发者。

  * 我们在不同的Tomcat进程上定义各自的虚拟主机,这样不同的公司可以使用各自的web site,从而使他们的web site得到了合理的分割。
  * 我们提供负载平衡的web site,也就意味着同时使用多个Tomcat workers,而每个Tomcat worker具有独立的主机并且在workers之间要分配通过web server转发来的请求。

  当然,这些假想情况也许并不能涵盖使用多个workers的所有状况。

  三、workers.properties配置说明:

  定义Tomcat workers的方法是在apache的conf目录下编写一个名为“workers.properties”的属性文件。本文将详细解释如何进行配置的:
  1.定义Workers列表:

  定义workers的方法就是在apache的conf目录下编写一个workers.properties文件,使其作为apache的插件来发挥作用。

  定义workers列表的格式:

  worker.list =<使用“,”分割的worker 名字列表>

  例如:

  worker.list= worker1, worker2

  当apache启动时,workers.properties作为插件将初始化出现在worker.list列表中的workers。

  2.定义Workers的类型:

  每个被命名的worker都应有一些关于其自身的附加信息。这些信息包括了worker的类型和其它相关信息。这里讨论的是JK1.2.5中定义的workers类型。

  定义worker类型的格式:

  worker . worker名字. type =

  worker名字的命名最好遵循java的命名规范。

  worker类型取值于下面的表格:

  定义一个名为“local”的worker,其使用ajpv12协议与Tomcat 进程通讯:

  worker.local.type=ajp12

  定义一个名为“remote”的worker,其使用ajpv13协议与Tomcat 进程通讯:

  worker.remote.type=ajp13

  定义一个名为“fast”的worker,其使用JNI的方式与Tomcat 进程通讯:

  worker.fast.type=jni

  定义一个名为“loadbalancer”的worker,其作为对多个Tomcat 进程的负载平衡使用:

  worker.loadbalancer.type=lb

  各个类型具有不同的行为,我们在下文中会详细解释。

  3.设置Worker属性:

  在定义worker之后,还需要提供各个worker的属性,这些属性的定义使用下面的方式:

  worker..<属性>=<属性值>

  3-1 ajp12类型的Worker属性:

  ajp12类型的worker工作时使用基于TCP/IP socket的ajpv12协议转发请求给“进程外”Tomcat worker。

  ajp12 worker属性如下:

  host:

  侦听ajp12请求的Tomcat worker主机。

  port:

  Tomcat worker主机的侦听端口。

  lbfactor:

  当此Tomcat worker被用于一个负载平衡worker使用时,此属性将被使用。它定义了此worker的负载平衡权值。

  例如:下面的“worker1”定义了一个位于www.x.com主机上的Tomcat,它使用8007端口侦听apache发来的请求,并具有2.5的负载权值

  worker.worker1.host=www.x.comworker.worker1.port=8007worker.worker1.lbfactor=2.5

  注意:在ajpv12协议中,针对每个请求都要一个连接建立、使用、关闭。其默认侦听端口为8007。

  3-2 ajp13类型的Worker属性:

  ajp13类型的worker工作时使用基于TCP/IP socket的ajpv13协议转发请求给“进程外”Tomcat worker。
src="/linux/js/wxgg_linux.js">

相关文章


Linux系统下Apache与Tomcat整合的简单方法
Apache Tomcat负载平衡设置方法
Linux服务器的系统内存监控方法详细解析
Apache二级域名实现方法介绍
linux下多用户的建立
Linux系统操作常用快捷键
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛