我们目前为我们的多个应用程序设置了集群Weblogic,以实现负载平衡,故障转移等常规保证。最近,我们添加了一个单独的服务,实现了weblogic.cluster ... SingletonService,它完成了它的设计工作,但它似乎不是我们需要它的工作。在当前设置中,在同一域下有多个集群需要访问单例服务,但似乎这不起作用。
我们如何在域范围内设置单件服务,即同时为多个集群设置?
完整性测试:我们观察到Weblogic SingletonService无法在域范围内正确使用吗?
答案 0 :(得分:2)
文档说明
“单例服务是在受管服务器上运行的服务 一次只能在群集中的一个成员上使用“
所以是的,你的理智测试还可以。
WebLogic中没有任何域范围的单例功能。我可以想象一些解决方法:
使用JMX检查正在运行的服务器,仅在第一个正在运行的受管服务器名称和当前服务器名称匹配时,从系统属性检索服务器名称并运行逻辑。
设置域范围的Coherence群集,并将本地成员与群集中最早的成员进行比较,并使用它来确定哪个服务器是领导者并运行您的逻辑。
使用JNDI树设置一些可怕的信号量逻辑,这是一个域范围的资源。