如何在 AWS 上缓存与 IBM WebSphere Liberty 的会话?
How to cache session with IBM WebSphere Liberty on AWS?
我想将 AWS Elasticache 用于 Liberty 的会话缓存,但看起来 Liberty 的 sessionCache-1.0 功能只能与 JCache 兼容存储一起使用。 (如 Hazelcast、Infinispan 等...)。
所以请让我确认一下。
- 无法将 Liberty 的功能 (sessionCache-1.0) 与 AWS Elasticache 一起使用是否正确?
- 如果是这样,我是否需要在我的应用程序中为会话缓存编写自定义代码?
如果您对如何在 Liberty 中实现会话缓存有任何建议,我将不胜感激。
最终我可以使用 redisson 配置 sessionCache-1.0 功能。
以下是 ElastiCache Redis(已禁用集群模式)的配置标志。
server.xml
・・・
<!-- JCache Library -->
<library id="jCacheVendorLib">
<fileset dir="${shared.resource.dir}/redisson" includes="*.jar"/>
</library>
<!-- Session Replication -->
<httpSessionCache libraryRef="jCacheVendorLib" uri="file:${shared.resource.dir}/redisson/redisson-jcache.yaml"/>
・・・
redisson-jcache.yaml
---
replicatedServersConfig:
idleConnectionTimeout: 10000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
failedSlaveReconnectionInterval: 3000
failedSlaveCheckInterval: 60000
password: null
subscriptionsPerConnection: 5
clientName: xxxxxxx
loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> {}
subscriptionConnectionMinimumIdleSize: 1
subscriptionConnectionPoolSize: 50
slaveConnectionMinimumIdleSize: 24
slaveConnectionPoolSize: 64
masterConnectionMinimumIdleSize: 24
masterConnectionPoolSize: 64
readMode: "MASTER_SLAVE"
subscriptionMode: "MASTER"
nodeAddresses:
- "redis://xxxxxxxxxxxxxx01.cache.amazonaws.com:6379"
- "redis://xxxxxxxxxxxxxx02.cache.amazonaws.com:6379"
scanInterval: 1000
threads: 16
nettyThreads: 32
codec: !<org.redisson.codec.MarshallingCodec> {}
transportMode: "NIO"
我想将 AWS Elasticache 用于 Liberty 的会话缓存,但看起来 Liberty 的 sessionCache-1.0 功能只能与 JCache 兼容存储一起使用。 (如 Hazelcast、Infinispan 等...)。
所以请让我确认一下。
- 无法将 Liberty 的功能 (sessionCache-1.0) 与 AWS Elasticache 一起使用是否正确?
- 如果是这样,我是否需要在我的应用程序中为会话缓存编写自定义代码?
如果您对如何在 Liberty 中实现会话缓存有任何建议,我将不胜感激。
最终我可以使用 redisson 配置 sessionCache-1.0 功能。
以下是 ElastiCache Redis(已禁用集群模式)的配置标志。
server.xml
・・・
<!-- JCache Library -->
<library id="jCacheVendorLib">
<fileset dir="${shared.resource.dir}/redisson" includes="*.jar"/>
</library>
<!-- Session Replication -->
<httpSessionCache libraryRef="jCacheVendorLib" uri="file:${shared.resource.dir}/redisson/redisson-jcache.yaml"/>
・・・
redisson-jcache.yaml
---
replicatedServersConfig:
idleConnectionTimeout: 10000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
failedSlaveReconnectionInterval: 3000
failedSlaveCheckInterval: 60000
password: null
subscriptionsPerConnection: 5
clientName: xxxxxxx
loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> {}
subscriptionConnectionMinimumIdleSize: 1
subscriptionConnectionPoolSize: 50
slaveConnectionMinimumIdleSize: 24
slaveConnectionPoolSize: 64
masterConnectionMinimumIdleSize: 24
masterConnectionPoolSize: 64
readMode: "MASTER_SLAVE"
subscriptionMode: "MASTER"
nodeAddresses:
- "redis://xxxxxxxxxxxxxx01.cache.amazonaws.com:6379"
- "redis://xxxxxxxxxxxxxx02.cache.amazonaws.com:6379"
scanInterval: 1000
threads: 16
nettyThreads: 32
codec: !<org.redisson.codec.MarshallingCodec> {}
transportMode: "NIO"