集群阀门对象

目录

简介

集群阀门与任何其他 Tomcat Valve 没有区别。集群阀门是 HTTP 请求调用链中的拦截器,集群实现使用这些阀门围绕数据做出智能决策,以及何时应复制数据。

集群阀门必须实现 org.apache.catalina.ha.ClusterValve 接口。这是一个简单的接口,它扩展了 org.apache.catalina.Valve 接口。

org.apache.catalina.ha.tcp.ReplicationValve

ReplicationValve 将在 HTTP 请求结束时通知集群,以便集群可以决定是否需要复制数据。

属性

属性 说明
className 将值设置为 org.apache.catalina.ha.tcp.ReplicationValve
filter 对于已知的文件扩展名或 URL,可以使用此阀门通知集群在此请求期间会话未被修改,并且集群不必探测会话管理器以查找更改。如果请求与此过滤器模式匹配,则集群假定没有会话更改。示例过滤器看起来像 filter=".*\.gif|.*\.js|.*\.jpeg|.*\.jpg|.*\.png|.*\.htm|.*\.html|.*\.css|.*\.txt" 。过滤器是一个使用 java.util.regex 的正则表达式。如果未指定过滤器模式或将过滤器模式配置为空字符串,则不会进行任何过滤。
primaryIndicator 布尔值,因此为 true,复制阀门将插入一个请求属性,其名称由 primaryIndicatorName 属性定义。插入到请求属性中的值是 Boolean.TRUEBoolean.FALSE
primaryIndicatorName 默认值为 org.apache.catalina.ha.tcp.isPrimarySession 此处定义的值是请求属性的名称,其中包含布尔值,表示会话是否在此服务器上为主会话。
statistics 布尔值。如果希望阀门收集请求统计信息,请将其设置为 true。默认值为 false

org.apache.catalina.ha.session.JvmRouteBinderValve

在 mod_jk 故障转移的情况下,JvmRouteBinderValve 将替换会话 ID 中的 jvmWorker 属性,以使将来的请求粘贴到此节点。如果您想要回退功能,请不要启用此阀门,但如果您希望故障转移粘贴,并且 mod_jk 不必继续探测已关闭的节点,请使用此阀门。

属性

属性 说明
className org.apache.catalina.ha.session.JvmRouteBinderValve
enabled 默认值为 true 运行时属性,用于打开和关闭会话的 jvmRoute 值的切换。
sessionIdAttribute 故障转移之前的旧会话 ID 在请求属性中注册,属性为 org.apache.catalina.ha.session.JvmRouteOriginalSessionID

org.apache.catalina.ha.authenticator.ClusterSingleSignOn

ClusterSingleSignOn 支持群集中的单点登录功能。通过使用 ClusterSingleSignOn,由一个 Web 应用程序验证的安全标识将被同一虚拟主机上的其他 Web 应用程序识别,并且会传播到群集中的其他节点。

请参阅Host 元素上的 单点登录 特殊功能,了解更多信息。

注意:仅能在主机级别群集中配置 ClusterSingleSignOn。

属性

属性 说明
className

要使用的实现的 Java 类名。此项必须设置为 org.apache.catalina.ha.authenticator.ClusterSingleSignOn

cookieDomain

设置用于 sso cookie 的主机域。

mapSendOptions

阀门使用复制映射。您可以设置此映射发送消息的方式的标志。默认值为 6(同步)。请注意,如果您使用异步消息传递,则接收节点可能会以与发送顺序不同的顺序处理更新消息。

requireReauthentication

默认值为 false。标志,用于确定是否需要对每个请求重新向安全Realm 进行身份验证。如果为“true”,此阀门使用缓存的安全凭据(用户名和密码)对与 SSO 会话关联的每个请求重新向Realm 进行身份验证。如果为“false”,阀门本身可以根据有效 SSO cookie 的存在对请求进行身份验证,而无需重新向Realm 进行检查。

rpcTimeout

Valve 使用复制映射。这是用于将状态传输到/从集群中其他节点的消息的超时。如果未指定,则使用默认值 15000 毫秒。

terminateOnStartFailure

如果基础复制启动失败,则将其设置为 true 以使该 Valve 失败。如果 Valve 失败,则关联的容器将无法启动。如果将此属性设置为 false,并且基础复制启动失败,则 Valve 将启动,并且将尝试加入集群并作为心跳进程的一部分启动复制。如果未指定,则使用默认值 false

accessTimeout ping 消息的超时。如果远程映射在此超时时间内没有响应,则将其视为已消失。默认值为 5000 毫秒。