MobileFirst:多个服务器可以使用同一个数据库吗

MobileFirst: can multiple Servers use same database

我的一个客户在不同的机器上安装了两个 MobileFirst 服务器,但保留了相同的 数据库供两者使用。 例如, 数据库是 WLAdminWrkLghtWLReportsWLAppCenter,并且两个服务器都指向它们。

它在过去运行良好,但今天我们看到 Runtime synchronization failed exception 并且正在显示控制台。

FWLSE3000E: A server error was detected.

那么可以让多个服务器使用同一个数据库吗?

我们的环境:

在两台服务器上部署了相同的应用程序并且没有集群。只有负载均衡器配置为仅分配流量。

从 Worklight/MobileFirst 6.2 开始,使用共享管理数据库的两个 "independent" 服务器的配置称为服务器场,需要一些额外的配置。两台服务器共享数据库已经不够了,还需要两台服务器可以通过JMX相互通信。

在我个人看来,MobileFirst 6.3 中服务器群的情况并不是最佳的用户友好型,因为一些 XML 配置文件需要在所有服务器之间共享(这通常很容易出错) ),因此我建议升级到 MobileFirst 7.0,其中这个 XML 配置文件是多余的并且配置更容易。

可在此处找到配置服务器场的文档:

可以使用 Websphere Liberty Profile 或 Full Profile 或 Apache Tomcat.

配置服务器场

服务器场的替代方案是使用带有集群的 IBM Websphere Application Server Network Deployment (WAS ND) (see WAS ND configuration for MobileFirst 6,3)。这仅适用于 Websphere Full Profile,不适用于 Websphere Liberty Profile。在这种情况下,您实际上并没有两个独立的服务器,因为它们必须都属于同一个集群并且由同一个 Websphere Deployment Manager 控制。 WAS ND 自动为您处理 JMX 通信的所有细节。

最后说明:我上面所说的适用于 MobileFirst Server 和运行时。对于 IBM Application Center,情况略有不同,因为它不需要任何 JMX。让两个独立的服务器与 Application Center 共享同一个数据库应该可以正常工作。