2013-05-21 55 views
0

我有WSO2 ESBELB实例已安装。
当HTTP请求到达ESB时,它将打开一个套接字并等待响应。
但是,如果ELB实例化新的ESB,则响应可以转到ESB#2(而不是#1),并且发现没有套接字连接。
如何将响应路由到ESB#1?WSO2 ESB:路由到特定节点


[编辑]
我已经实现自定义的Axis2传输,其具有CustomTransportListener类。有一个打开的套接字连接List,它等待响应。这就是为什么只有ESB#1可以处理响应的原因。

回答

0

ELB后面的ESB集群中的每个ESB都是相同的,因此集群中的哪个ESB节点将服务该请求并不重要。 ELB的目的是自动平衡负载,并使其不会看到集群的复杂性,因此它不提供指定应接收响应的特定节点的方法。

无法通过ELB向集群中的特定ESB发送请求,因为ELB使用循环法算法向ESB集群分派请求,因此您无法保证特定的ESB节点将获得请求。在我的opinoin不认为这是一个好主意,使ESB在相同的群集不同:)。

+0

谢谢!我已经更新了这个问题。在我的情况下,每个ESB节点与另一个不同,因为在我的自定义传输中,我存储传入套接字连接。因此,如果ELB将请求重定向到ESB#2节点,则可能没有打开的套接字连接(但它仍然在ESB#1中打开)。 – surlac

+0

surlac我更新了答案,我认为它现在更清晰:) – pulasthi