有没有办法在不同的服务器之间分配服务请求? ideia是web服务的高可用性,由wso2 esb控制。我将在多个服务器(jboss)中部署相同的服务,我打算wso2处理这个。 创建自定义代理时,“固定服务器”选项可以执行此操作吗?
答案 0 :(得分:1)
“固定服务器”属性控制多个服务器中的代理服务部署。有时我们需要使用一个CAPP文件在多个服务器中部署工件,但可能需要在Selected服务器中部署代理服务工件。因此,在这种情况下,可以使用“固定服务器”属性。
您可以提供Synapse服务器名称列表,其中应使用pinnedServers属性部署此代理服务。它将服务器名称用逗号或空格字符分隔。如果没有固定服务器列表,则将在所有服务器实例中启动代理服务。
如果给定了固定服务器名称列表,它将仅在给定的命名Synapse服务器实例中启动。
对于您的问题“是否有办法在不同服务器之间分配服务请求?”
您可以使用带有nginex,httpd。
等负载均衡器的群集设置来实现此目的答案 1 :(得分:0)
如果您需要使用固定服务器选项,可以在代理中添加名为pinnedServers属性的属性,如下所示
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="myproxy"
transports="https,http"
pinnedServers="server1"
statistics="disable"
trace="disable"
startOnLoad="true">
<target>
<outSequence>
<send/>
</outSequence>
<endpoint>
<address uri="http://www.google.com"/>
</endpoint>
</target>
<description/>
</proxy>
此处“server1”是synapse服务器名称,其中应使用pinnedServers属性部署此代理服务。 接下来,您需要根据上面的代理
在axis2.xml中添加如下的synapse服务器实例名称<parameter name="SynapseConfig.ServerName" locked="false">server1</parameter>
您需要重新启动ESB才能从pinnedServers属性中获得效果。
然后,在执行启动脚本wso2server.bat或wso2server.sh
时,需要通过指定 -DSynapseServerName = 属性将名称提供给Synapse服务器实例。请参考[1]作为在代理中设置pinnedServers属性的参考。