1

这听起来像是一个愚蠢或简单的问题,但我对任何类型的集群几乎没有经验,我只是好奇是否以及如何可能出现某种情况。

假设我已经建立了一个包含 N 个 Tomcat 实例的集群,并且我已经App1在所有 N 个实例上部署了我的应用程序。

我需要做些什么才能使应用程序中的某些 bean(不是全部,而是一些)在集群中“共享”?

即,如果我有一个 bean WebsiteSettings,我希望有一些查找过程,应用程序可以在其中请求 bean 并获得它的实例,并且对 bean 的属性/值的任何更新也可用于任何其他机器在集群中,即,WebsiteSettings.getGreeting()每当更新时,所有 N 台机器上都会返回相同的值。

我是否需要将这些 bean 设置为 MBean,并App1通过 JMX 查找它们?Tomcat 的集群支持是否会自动将 MBean 中的更改复制到集群中的所有节点?

4

2 回答 2

5

请看一下Terracotta - 它允许您将相同的对象(以某种方式)驻留在许多实例上,其中其他节点的所有更新都是在 JVM 级别而不是在您的代码中无缝完成的。

你可能想看看这个以获得更多信息 -什么是兵马俑

于 2009-05-25T10:56:30.817 回答
1

一种选择是使用共享分布式缓存。有几个可用的可以轻松地为您提供此功能。

于 2009-05-11T16:12:08.000 回答