Terracotta 用于扩展 JVM 应用程序。以下是维基百科的简短描述:
Terracotta is an open source JVM-level clustering software for Java. It delivers clustering as a runtime infrastructure service, which simplifies the task of clustering a Java application, by clustering the JVM underneath the application, instead of clustering the application itself.
我明白了如果您想扩展 Java SE 应用程序为什么应该使用 Terracotta。
我的问题:如果您还使用 Java EE 应用程序服务器(例如 WebSphere AS)(它已经支持应用程序集群),那么使用 Terracotta 是否有意义? 什么时候应该结合使用两者?为什么?
最佳答案
苏雷什, 当在 Java EE 应用服务器中使用时,Terracota 确实显着提高了性能。
Terracotta Server 可以被认为是所有机器都可以利用的共享 L2。访问 L2 的成本比访问 L1 的成本更高 — 对于 Terracotta,这是因为 L2 跨所有 JVM 的网络连接 — 但 L2 比其他 I/O(例如数据库或数据库)便宜。否则将被调用的消息传递。
相比之下,Zing Platform (Azul-Systems) 通过消除堆大小限制进行扩展,允许每个实例无缝且弹性地扩展到数百 GB 堆内存和数十个核心。传统的 JVM 无法扩展到超过 2-3 GB。
应用程序服务器集群不提供缓存。集群用于负载平衡和故障转移并简化一些管理任务。集群提高了水平可扩展性,缓存提高了垂直可扩展性。两者兼得是一个 killer 级的组合:)
关于java - 将 Terracotta 与 Java EE 应用服务器集群结合起来有意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5402878/