Apache+Tomcat负载平衡设置方法详细解析
2007-08-19 00:00:00 来源:WEB开发网5.高级lb Worker属性:
JK 1.2.x版本通过增加两个新的属性:local_worker_only 和 local_worker 为lb worker增添了新的负载平衡和容错支持。
下面让我们举一个实际的环境作为example:
一个集群具有两个节点(worker1+worker2),一个web server与tomcat workers一前一后,一个负载平衡器(lb Worker)位于节点的前面、web server的后面。
配置如下:
worker.list=router# Define a 'local_worker'
worker using ajp13worker.worker1.port=8009worker.worker1.host
=node1.domain.orgworker.worker1.type=ajp13worker.worker1.lbfactor
=1worker.worker1.local_worker=1# Define another 'local_worker'
worker using ajp13worker.worker2.port=8009worker.worker2.host
=node2.domain.orgworker.worker2.type=ajp13worker.worker2.lbfactor
=1worker.worker2.local_worker=0# Define the LB
workerworker.router.type=lbworker.router.balanced_workers
=worker1,worker2worker.router.local_worker_only=1
在worker1和worker2上的local_worker标志告诉lb_worker哪个连接属于本地worker。
如果local_worker值为非0,则它将被设置为JK_TRUE,用来标记“local worker”,而JK_FALSE的情况则相反。如果至少一个worker被标记为local worker,则lb_worker将工作于local worker模式。这种模式下,所有的local workers将被移到在lb_worker中的内部worker列表的头部。
这意味着一个带有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的请求。
- ››Apache添加mod_aspdotnet.so支持ASP.NET配置指南
- ››Apache中改变php.ini的路径
- ››Apache2.2与Tomcat6整合及虚拟主机配置
- ››Apache+php+mysql在windows下的安装与配置图解
- ››Apache+Subversion完美结合,CentOS下实现版本控制...
- ››tomcat不支持TCP/IP6协议
- ››tomcat 下的 url 大小写问题
- ››Apache HTTPServer2.2.16 发布
- ››Apache Tomcat 6.0.29 (稳定版)
- ››tomcat6.0.28 内存溢出PermGen Space
- ››Apache HTTP Server 2.3.6 alpha 发布
- ››Apache+Subversion如何实现版本控制
更多精彩
赞助商链接