Java WebSphere跨集群中的所有节点传播更改
我对目前正在开发的产品有问题。本质上,在服务器启动时从数据库检索到一些非常常用(并且很少更新)的信息。我们不希望每次需要此信息时都查询数据库,因为它非常频繁。有一种方法可以通过应用程序(仅由管理员)更新此信息。使用此方法时,将更新数据库中的数据,并更新单个服务器(第1台,共4台)中的缓存数据。不幸的是,如果用户点击任何其他服务器,他们将看不到更新的信息。重新启动集群可以解决这个问题,但是,对于我们的生产环境来说,这不是一个可行的解决方案。既然我已经解释了情况,我愿意接受建议。谢谢你抽出时间 (类似于)Java WebSphere跨集群中的所有节点传播更改,java,websphere,Java,Websphere,我对目前正在开发的产品有问题。本质上,在服务器启动时从数据库检索到一些非常常用(并且很少更新)的信息。我们不希望每次需要此信息时都查询数据库,因为它非常频繁。有一种方法可以通过应用程序(仅由管理员)更新此信息。使用此方法时,将更新数据库中的数据,并更新单个服务器(第1台,共4台)中的缓存数据。不幸的是,如果用户点击任何其他服务器,他们将看不到更新的信息。重新启动集群可以解决这个问题,但是,对于我们的生产环境来说,这不是一个可行的解决方案。既然我已经解释了情况,我愿意接受建议。谢谢你抽出时间 (类
也就是说,我认为标准答案应该是“分布式对象存储”。但是(我们使用的)一个粗略的替代方法是配置一个要联系的服务器:端口组合列表,通知每个集群成员更新他们自己的数据副本。IBM WebSphere Application server有一个动态缓存,您可以用它来存储Java对象。可以将缓存设置为在复制域上使用,以便在集群中共享
您的代码将使用该接口与缓存交互。动态缓存的所有设置可以包含在应用程序中,也可以预先配置。示例包含在javadoc链接中。对于一个简单的解决方案,您可以转到管理控制台中的集群并启动它。这将优雅地停止/启动节点,并且一次停止/启动一个节点。唯一的影响是它工作时容量减少了25%。使用jms主题通知应用程序更新如何?