我目前正在部署一些wso2as集群,并且面临着URL映射的奇怪问题。 我已经设置了两个工作节点(名为was0和was1),一个管理节点(名为mgt)和一个ELB(名为elb)。
安装似乎工作正常,因为我能够调用负载均衡器上映射的URL,如下所示:http://was0.domain/services/ ...,was0.domain映射到访问此地址的工作站上的负载均衡器IP (在集群之外)。 当我在这个端点上调用服务时,我能够加载平衡,因为我可以注意到我的wsdl有基于was0和was1的enpoints。两个工作节点在ELB上被很好地检测为应用程序节点。
我遇到的问题是,当我使用基于was0的URL时,它工作正常,但是当我尝试使用was1时,负载均衡器返回一个空白页面,我没有注意到日志中的任何错误。我在集群配置中将主机was1和was0定义为AS的应用程序成员。 如果我尝试从ELB节点直接在WAS上访问基于was1的web服务,我可以毫无问题地访问它(因此服务正在处理was1节点,并且此节点也被检测到并在集群内注册,但是无法通过群集访问)。 最后,当循环目标为0时,这会导致一个调用工作,而当目标为1时,一个调用不起作用。
所以我现在想知道我是否理解了群集行为:它是否适用于两个应用服务器映射的URL,或者只有第一个is0响应成功是否正常?我如何强制生成的WSDL返回有效的端点URL? 我通过阅读文档理解的是,我需要在ELB上映射WAS URL,然后这个URL将在所有WAS服务器上进行平衡,但它看起来并不像那样。
请告诉我,如果您需要一些配置部件,图表或示例,我没有在此处粘贴,因为它非常大:)
有关信息,我在通过2个wso2esb工作节点进行平衡时遇到了同样的问题,但是能够通过在ESB配置中使用WSDLEPRPrefix的第一个节点URL(esb0)强制WSDL URL前缀来解决它。由于我在wso2as中没有这样的设置,我不知道如何访问WSDL中返回的URL。
提前感谢您的帮助,
BOUCNIAUX本杰明