A.38. mod_jk Worker Properties


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

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

Apache mod_jk Load Balancers 的配置参考

模板指定默认的每个负载均衡器设置。您可以覆盖负载均衡器设置本身中的模板。

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

worker.list

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

表 A.142. 强制指令
属性描述

type

worker 的类型。默认类型是 ajp13。其他可能的值有 ajp14lbstatus。有关这些指令的更多信息,请参阅 Apache Tomcat 连接器参考,网址为 https://tomcat.apache.org/connectors-doc/reference/workers.html

表 A.143. 负载平衡指令
属性描述

balance_workers

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

sticky_session

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

表 A.144. 连接指令
属性描述

主机

后端服务器的主机名或 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 次默认负载,请将其设置为 3 :worker.my_worker.lbfactor=3

以下示例演示了在侦听端口 8009 的两个工作程序节点 node1 和 node 2 之间通过粘性会话进行负载平衡。

示例: 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.