分布式现时标志高速缓存
在 WebSphere® Application Server 的先前发行版中,以本地方式对现时标志进行了高速缓存。WebSphere Application Server V6 和更高版本使用分布式现时标志高速缓存。分布式现时标志高速缓存使得可以在 WebSphere Application Server 集群中的服务器之间复制现时标志数据。
如果现时标志元素位于 SOAP 头中,集群中的服务器将高速缓存所有现时标志值。如果启用了分布式现时标志高速缓存,就会将高速缓存的现时标志值复制到同一个集群中的其他服务器。然后,如果将具有相同现时标志值的消息发送至(其中一个)其他服务器,就会拒绝该消息。将会高速缓存已接收的现时标志高速缓存值并以推送的方式复制到集群中复制域相同的其他服务器。此复制是进程外调用,而且在某些情况下是远程调用。因此,当更新集群中高速缓存的内容时存在延迟。
例如,您可能在集群 C 中包含应用程序服务器 A 和应用程序服务器 B。
- SOAP 客户机将具有现时标志 abc 的消息发送给应用程序服务器 A。
- 服务器高速缓存该值并将它推送给另一个应用程序服务器 B。
- 如果在一定时间范围后客户机将具有现时标志 abc 的消息发送给应用程序服务器
B,那么会拒绝该消息,并且如果应用程序服务器 B 在指定的时间段内接收到具有相同值的现时标志,应用程序服务器 B 就会抛出
SoapSecurityException。
有关更多信息,请参阅 令牌生成者配置设置中说明现时标志高速缓存超时、现时标志最大时限和现时标志时钟偏差的信息。
- 如果客户机发送具有另一个现时标志值 xyz 的消息,那么会接受该消息,该值由应用程序服务器 B 高速缓存并复制到同一个集群中的其他应用程序服务器。
要点: 分布式现时标志高速缓存功能使用 WebSphere Application Server 数据复制服务 (DRS)。将本地高速缓存中的数据
推送到同一复制域的其他服务器中的高速缓存。此复制是进程外调用,而且在某些情况下是远程调用。因此,当更新集群的每个应用程序服务器中高速缓存的内容时,在复制中可能存在延迟。延迟可能是由网络流量、网络工作负载、机器工作负载等等原因造成。