我的一位客户在不同的计算机上安装了两台 MobileFirst服务器,但保留了相同的数据库供两者使用。 例如,数据库是WLAdmin
,WrkLght
,WLReports
,WLAppCenter
,两个服务器都指向它们。
过去效果很好但今天我们看到Runtime synchronization failed exception
并且控制台正在显示。
FWLSE3000E: A server error was detected.
这样可以为多个服务器使用相同的数据库吗?
我们的环境:
在两台服务器上部署了相同的应用程序,并且没有群集。只有负载均衡器配置为仅分配流量。
答案 0 :(得分:6)
自Worklight / MobileFirst 6.2以来,使用共享管理数据库的两个“独立”服务器的配置称为服务器群,需要一些额外的配置。两个服务器共享数据库已经不够了,两个服务器也需要通过JMX相互通信。
MobileFirst 6.3中针对服务器场的情况在我个人看来不是最佳用户友好的,因为需要在所有服务器之间共享一些XML配置文件(这通常容易出错),因此我建议升级到MobileFirst 7.0,其中此XML配置文件是多余的,配置更容易。
可以在此处找到有关配置服务器场的文档:
可以使用Websphere Liberty Profile或Full Profile或Apache Tomcat配置服务器场。
服务器场的替代方法是将IBM Websphere Application Server网络部署(WAS ND)与群集(see WAS ND configuration for MobileFirst 6,3)一起使用。这仅适用于Websphere Full Profile,而不适用于Websphere Liberty Profile。在这种情况下,您实际上没有两个独立的服务器,因为它们必须属于同一个集群并且由同一个Websphere Deployment Manager控制。 WAS ND会自动为您处理JMX通信的所有细节。
最后注意事项:我上面所述的内容适用于MobileFirst Server和Runtime。对于IBM Application Center,情况略有不同,因为它不需要任何JMX。让两个独立的服务器与Application Center共享相同的数据库应该没有问题。