【发布时间】:2014-04-11 22:22:19
【问题描述】:
我打算将 Hazelcast 用于 Http 会话集群。我阅读了这个文档 - http://hazelcast.org/docs/latest/manual/html/httpsessionclustering.html 并且我知道我需要设置 com.hazelcast.web.WebFilter 过滤器,这个过滤器将装饰原始 HttpSession 以将会话数据存储在 Hazelcast 缓存中。
我的问题是,当我修改 HazelcastHttpSession 实例的属性时,我是否必须在其上放置一个锁(分布式锁),就像我对原始 HttpSession 实例所做的那样。
如果我必须锁定 HazelcastHttpSession 实例,我打算使用 Hazelcast 分布式锁,获得分布式锁的关键是 Session id。请看我的示例代码:
HazelcastInstance hz = Hazelcast.newHazelcastInstance(cfg);
Lock session_lock = hz.getLock( SessionID );
session_lock .lock();
try {
// Modify session data
} finally {
session_lock .unlock();
}
我的应用程序一次可能有 10K 用户处于活动状态,因此该应用程序可能需要一次从 Hazelcast 获取 10K 分布式锁实例。
我的问题是 Hazel 可以一次创建太多(10K)个分布式锁吗? Hazel 分布式锁有什么限制吗? 文档http://hazelcast.org/docs/latest/manual/html/lock.html 没有提及任何内容。
感谢任何cmets。
【问题讨论】:
标签: java jakarta-ee cluster-computing httpsession hazelcast