A.36. mod_jk Worker Properties


worker.properties 文件定义 mod_jk 传递客户端请求的 worker 的行为。worker.properties 文件定义不同应用服务器所处的位置,以及它们之间的工作负载应平衡的方式。

属性的一般结构为 worker。WORKER_NAME.DIRECTIVEWORKER_NAME 是一个唯一名称,必须与 JBoss EAP undertow 子系统中配置的 instance-id 匹配。DIRECTIVE 是要应用到 worker 的设置。

Apache mod_jk Load Balancers 的配置参考

模板指定默认的 per-load-balancer 设置。您可以在负载均衡器设置本身中覆盖模板。

Expand
表 A.128. 全局属性
属性Description

worker.list

以逗号分隔的 worker 名称列表,它们将供 mod_jk 使用。

Expand
表 A.129. 强制指令
属性Description

type

worker 的类型。默认类型是 ajp13。其他可能的值有 ajp14lbstatus。有关这些指令的详情请参考 Apache Tomcat Connectors 参考,网址为 https://tomcat.apache.org/connectors-doc/reference/workers.html

Expand
表 A.130. 负载均衡指令
属性Description

balance_workers

指定负载均衡器必须管理的 worker 节点。您可以多次将指令用于同一负载均衡器。它由以逗号分隔的 worker 节点名称列表组成。

sticky_session

指定来自同一会话的请求始终路由到同一 worker。默认值为 1,表示启用了粘性会话。要禁用粘性会话,请将其设为 0。除非所有请求真正无状态,否则通常应启用粘性会话。

Expand
表 A.131. 连接指令
属性Description

主机

后端服务器的主机名或 IP 地址。后端服务器必须支持 ajp 协议堆栈。默认值为 localhost

port

侦听定义的协议请求的后端服务器实例的端口号。默认值为 8009,这是 AJP13 worker 的默认侦听端口。AJP14 worker 的默认值为 8011

ping_mode

针对网络状态探测连接的条件。该探测使用空的 AJP13 数据包进行 CPing,并且需要 CPong 响应。使用指令标志组合指定条件。标志不会用逗号或任何空格分开。ping_mode 可以是 C、P、I 和 A 的任意组合。

  • C - 连接.在连接到服务器后,探测一次连接。使用 connect_timeout 的值指定超时。否则,会使用 ping_timeout 的值。
  • P - 后期.在将每个请求发送到服务器之前探测连接。使用 prepost_timeout 指令指定超时。否则,会使用 ping_timeout 的值。
  • i - 间隔.以 connection_ping_interval 指定的时间间隔(如果存在)探测连接。否则,会使用 ping_timeout 的值。
  • A - 所有.CPI 的快捷方式,用于指定使用所有连接探测。

ping_timeout, connect_timeout, prepost_timeout, connection_ping_interval

以上连接探测设置的超时值。该值以毫秒为单位指定,ping_timeout 的默认值为 10000

lbfactor

指定单个后端服务器实例的负载平衡因素。这对为更多工作负载提供更强大的服务器非常有用。要为 worker 3 倍作为默认负载,请将其设置为 3worker.my_worker.lbfactor=3

以下示例演示了在两个 worker 节点( node1node2 )之间带有粘性会话的负载平衡,侦听端口 8009

示例: worker.properties 文件

# Define list of workers that will be used for mapping requests
worker.list=loadbalancer,status

# Define Node1
# modify the host as your host IP or DNS name.
worker.node1.port=8009
worker.node1.host=node1.mydomain.com
worker.node1.type=ajp13
worker.node1.ping_mode=A
worker.node1.lbfactor=1

# Define Node2
# modify the host as your host IP or DNS name.
worker.node2.port=8009
worker.node2.host= node2.mydomain.com
worker.node2.type=ajp13
worker.node2.ping_mode=A
worker.node2.lbfactor=1

# Load-balancing behavior
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2
worker.loadbalancer.sticky_session=1

# Status worker for managing load balancer
worker.status.type=status
Copy to Clipboard Toggle word wrap

Apache mod_jk 的更多配置详情不在本文档的讨论范围之内,并可在 Apache 文档中找到

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat