跳转至

发现服务操作#

凯睿德制造软件发现服务是一个高可用性组件,在Windows Server故障转移群集(WSFC)上作为Windows服务运行。如果WSFC群集节点发生故障,则该节点上托管的发现服务将在称为故障转移的过程中自动转移到另一个可用节点,从而为客户端应用程序提供服务连续性。

启动时,客户端使用Windows Server故障转移群集地址对发现服务进行服务调用,以检索路由表定义,然后将其储存在本地内存中,如下图所示。

Discovery Service - Service call

最终用户选择所需的应用程序服务后,所有客户端请求都会基于加权循环调度算法路由到应用程序服务器,同时考虑配置的应用程序服务器权重,如下图所示。例如,如果为服务器分配了20%的权重,则5个请求中有4个将发送到该服务器。

此算法由轻量级业务对象客户端库实现和管理。这确保客户端不需要额外的逻辑。此外,无论客户端应用程序或服务类型如何,系统都将具有标准行为。

Discovery Service - Client request

凯睿德制造软件发现服务会定期检查活动应用程序服务器的响应能力,并从路由表中删除任何无响应的应用程序服务器。此外,应用程序服务器可以随时手动标记为活动或非活动,从而简化维护活动的执行,而不会干扰正常的MES系统操作。

客户端持续侦听管理主体(UDP协议),每当路由表发生变化时,系统都会广播一条无效消息,触发客户端本地路由表的刷新,如下图所示。

Discovery Service - Routing table

在平衡客户端和服务器之间的请求时,凯睿德制造软件发现服务至关重要。下图显示了这种交互的一个简化示例,目的是总结上面解释的客户端和发现服务之间的主要流程。

Discovery Service - Sequence diagram

在能够识别所有可用的应用程序服务器后,客户端发送请求而不必担心负载均衡。加权轮询算法负责这种负载均衡,以便根据应用程序服务器的性能来分析和选择最佳的应用程序服务器。 此外,凯睿德制造软件发现服务会定期检查应用程序服务器的状态,以便在发生故障时可以做出快速响应来维持基础设施的高可用性。此响应基于传输到任何其他可用节点的发现服务,广播无效消息,随后使用所有可用应用程序服务器更新路由表。