GlassFish 集群如何找到活动的 IIOP 端点?

Posted

技术标签:

【中文标题】GlassFish 集群如何找到活动的 IIOP 端点?【英文标题】:How does a GlassFish cluster find active IIOP endpoints? 【发布时间】:2015-07-03 14:18:32 【问题描述】:

我有一种好奇心,我一直在寻找它,但没有任何结果。在 GlassFish 文档中是这样写的:

如果应用程序客户端所在的 GlassFish Server 实例 部署参与集群,GlassFish Server 发现所有 集群中当前活动的 IIOP 端点自动。然而, 客户端应至少指定两个端点 引导目的,以防端点之一发生故障。

但我在问自己这个列表是如何创建的。

我使用在 JVM 中执行的独立客户端进行了一些测试,并对部署在 GlassFish 集群中的应用程序执行了一些 RMI 调用,我可以从日志中看到 IIOP 端点列表已完成自动并将其设置为 com.sun.appserv.iiop.endpoints 系统属性,但是如果我在客户端执行期间停止服务器实例或启动另一个服务器实例,则列表仍然是在JVM 已启动。

【问题讨论】:

【参考方案1】:

GlassFish 集群由 GMS(组管理服务)管理,该服务通常使用 UDP 多播,但可以在 TCP 不可用的地方使用。

请参阅HA Administration Guide (PDF) 中的第 4 节“管理 GlassFish 服务器集群”

组管理服务 (GMS) 使实例能够通过以下方式参与集群 检测集群成员的变化并通知变化的实例。到 确保 GMS 可以检测集群成员的变化,集群的 GMS 设置 必须正确配置。

【讨论】:

以上是关于GlassFish 集群如何找到活动的 IIOP 端点?的主要内容,如果未能解决你的问题,请参考以下文章

Glassfish 3.1.2.2:IIOP1002:主要传播:在主题中找不到主要信息

Web Sockets + Tomcat/Glassfish + 集群 + 负载平衡 - 都有哪些选项?

移至 Glassfish-2.x 集群会导致连接在 1 小时后超时

在 IIOP 中使用 Python 或其他脚本语言

如何从集群 Java 应用程序服务器登录到 syslog

如何使用 C# 和 IIOP.NET 查找 Corba 服务?