A.29. 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 的配置参考
模板指定默认的 per-load-balancer 设置。您可以覆盖负载均衡器设置本身中的模板。
属性 | 描述 |
---|---|
worker.list | 以逗号分隔的 worker 名称列表,它们将供 mod_jk 使用。 |
属性 | Description |
---|---|
type |
worker 的类型。默认类型是 |
属性 | 描述 |
---|---|
balance_workers | 指定负载均衡器必须管理的 worker 节点。您可以对同一负载均衡器多次使用指令。它由以逗号分隔的 worker 节点名称列表组成。 |
sticky_session | 指定来自同一会话的请求是否始终路由到同一 worker。默认值为 1,表示启用了粘性会话。要禁用粘性会话,请将其设为 0。除非所有请求都真正无状态,否则通常应启用粘性会话。 |
属性 | Description |
---|---|
主机 | 后端服务器的主机名或 IP 地址。后端服务器必须支持 ajp 协议堆栈。默认值为 localhost。 |
port | 侦听定义的协议请求的后端服务器实例的端口号。默认值为 8009,这是 AJP13 工作程序的默认侦听端口。AJP14 worker 的默认值为 8011。 |
ping_mode | 探测到网络状态的连接条件。该探测使用空的 AJP13 数据包进行 CPing,并需要 CPong 来响应。使用 指令标志的组合指定条件。标志不用逗号或任何空格分开。ping_mode 可以是 C、P、I 和 A 的任意组合。
|
ping_timeout, connect_timeout, prepost_timeout, connection_ping_interval | 上面的连接探测设置的超时值。该值以毫秒为单位指定,ping_timeout 的默认值为 10000。 |
lbfactor |
指定单个后端服务器实例的负载平衡因素。这有助于为更多工作负载提供更强大的服务器。要赋予 worker 3 倍的默认负载,请将其设置为 3 : |
以下示例演示了在两个 worker 节点(node1
和 node2)
侦听端口 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 文档 中找到。