A.29. 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 设置。您可以覆盖负载均衡器设置本身中的模板。

表 A.98. 全局属性
属性描述

worker.list

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

表 A.99. 强制指令
属性Description

type

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

表 A.100. 负载均衡指令
属性描述

balance_workers

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

sticky_session

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

表 A.101. 连接指令
属性Description

主机

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

port

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

ping_mode

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

  • C - 连接。连接到服务器后,一次探测连接。使用 connect_timeout 的值指定超时。否则,会使用 ping_timeout 的值。
  • P - Prepost.在将每个请求发送到服务器前探测连接。使用 prepost_timeout 指令指定超时。否则,会使用 ping_timeout 的值。
  • i - Interval.如果存在,使用 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

Apache mod_jk 的更多配置详情超出了本文档的范围,并可在 Apache 文档 中找到。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.