首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Glassfish Amazon AWS EC2实例和ELB缓存问题

Glassfish Amazon AWS EC2实例和ELB缓存问题
EN

Stack Overflow用户
提问于 2011-04-29 01:28:45
回答 2查看 1.4K关注 0票数 1

我有两个运行Glassfish应用服务器的EC2实例(运行完全相同的部署应用程序),它们在弹性负载均衡器下运行。这工作得很好,但我担心缓存与EJB不一致。

场景:客户端向ELB发送请求,ELB转发到EJB 1。一些EC2对象,让我们称之为EJB1,被缓存。Client --> ELB --> EC2-1 (EJB1缓存)

不久之后,客户端发送另一个请求,但该请求现在被转发到EC2实例2。EJB1现在被缓存在该实例上。Client --> ELB --> EC2-2 (EJB1缓存)

不久之后,客户端再次发送请求,并被转发到EC2实例1。EJB1仍在缓存中,但不是最新的,因此导致缓存不一致。Client --> ELB --> EC2-1 (EJB1缓存)

不幸的是,我还没能真正看到这个问题,但我觉得这是有可能的。除了关闭EJB的缓存之外,防止这种情况发生的正确方法是什么?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2011-04-29 04:18:47

亚马逊在负载均衡器上提供了"session stickiness“支持。这意味着,假设用户启用了cookies,则在其会话的整个生命周期内,将cookies发送到相同的EC2实例。

票数 1
EN

Stack Overflow用户

发布于 2011-05-03 00:29:25

在实现二级缓存之前,您的实例不会共享缓存。

这里有几个二级缓存解决方案的链接。(开源) http://www.terracotta.org/ehcache/ (大量现金) http://www.oracle.com/technetwork/middleware/coherence/overview/index.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5822627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档