集群阀门对象
目录
简介
集群阀门与任何其他 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.TRUE 或 Boolean.FALSE 。 |
primaryIndicatorName | 默认值是 org.apache.catalina.ha.tcp.isPrimarySession 。此处定义的值是请求属性的名称,该属性包含会话在此服务器上是否为主的布尔值。 |
statistics | 布尔值。如果您希望阀门收集请求统计信息,请设置为 true 。默认值是 false 。 |
org.apache.catalina.ha.session.JvmRouteBinderValve
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 |
此阀门使用一个复制映射。您可以设置此映射发送消息的方式的标志。默认值为 |
requireReauthentication |
默认值为 false。标志,用于确定每个请求是否需要重新向安全 Realm 进行认证。如果为“true”,此阀门会使用缓存的安全凭据(用户名和密码)重新向 Realm 认证与SSO会话关联的每个请求。如果为“false”,则阀门可以根据有效SSO Cookie的存在自行认证请求,而无需重新检查 Realm。 |
rpcTimeout |
此阀门使用一个复制映射。这是集群中用于在其他节点之间传输状态的消息的超时时间。如果未指定,则使用默认值 |
terminateOnStartFailure |
如果底层复制未能启动,您希望此阀门失败,则设置为 |
accessTimeout | ping 消息的超时时间。如果远程映射在此超时期间内没有响应,则认为它已消失。默认值为 5000 毫秒。 |