我们正在尝试水平扩展基于 JPA 的应用程序,但遇到了 JPA 二级缓存的问题。我们研究了几种解决方案(EhCache、Terracotta、Hazelcast),但似乎找不到合适的解决方案。基本上我们想要实现的是让多个应用程序服务器都指向一个缓存服务器作为 JPA 的二级缓存。
从非 Java 的角度来看,它看起来像是多个 PHP 服务器都指向一个集中式内存缓存服务器作为缓存服务。这目前可以用 Java 实现吗?
谢谢
最佳答案
这是对上述评论的回应。
- Terracotta 将部署在它自己的服务器上
- 每个应用服务器都有 terracota 驱动程序,这些驱动程序将在 terracotta 服务器之间存储/检索数据。
- Ehcache api 出现在应用程序 war 中,将调用 terracota 驱动程序将数据存储到 terracotta 服务器。
- Hibernate api 将维护 L1 缓存,此外它将使用 ehcache api 来保存/检索数据来回 L2 缓存。幸福地不知道 ehcache api 如何执行任务。
关于java - 集中式二级缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24007873/