【问题标题】:WSO2 ESB webservice load balanceWSO2 ESB Web服务负载均衡
【发布时间】:2016-01-22 15:38:12
【问题描述】:

有没有办法在不同的服务器之间分配服务请求? ideia 是由 wso2 esb 控制的 web 服务的高可用性。我将在不止一个服务器(jboss)中部署相同的服务,我打算用 wso2 处理这个问题。 在创建自定义代理时,选项“固定服务器”可以做到这一点吗?

【问题讨论】:

    标签: wso2 wso2esb


    【解决方案1】:

    “固定服务器”属性控制多个服务器中的代理服务部署。有时我们需要使用一个 CAPP 文件在多个服务器中部署工件,但可能需要在选定服务器中部署代理服务工件。所以在这种情况下可以使用“固定服务器”属性。

    您可以提供一个 Synapse 服务器名称列表,该代理服务应使用 pinnedServers 属性部署在其中。它采用以逗号或空格字符分隔的服务器名称。如果没有固定服务器列表,则代理服务将在所有服务器实例中启动。

    如果给定一个固定的服务器名称列表,它只会在给定的命名 Synapse 服务器实例中启动。

    对于您的问题“有没有办法在不同的服务器之间分配服务请求?

    您可以使用带有负载均衡器(如 nginex、httpd)的集群设置来实现此目的。

    httpd nginx

    【讨论】:

      【解决方案2】:

      如果您需要使用固定服务器选项,您可以在代理中添加一个名为 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”是突触服务器名称,应该使用 pinnedServers 属性部署此代理服务。 接下来,您需要根据上述代理在axis2.xml中添加突触服务器实例名称,如下所示

      <parameter name="SynapseConfig.ServerName" locked="false">server1</parameter>
      

      您需要重新启动 ESB 才能从 pinnedServers 属性中获得效果。

      然后您需要在执行启动脚本 wso2server.bat 或 wso2server.sh 时通过指定 -DSynapseServerName= 属性为 Synapse 服务器实例指定名称

      在代理中设置pinnedServers属性请参考[1]。

      [1]https://docs.wso2.com/display/ESB403/Proxy+Services

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-26
        • 2017-06-12
        • 1970-01-01
        • 2022-01-20
        • 1970-01-01
        • 2021-01-10
        相关资源
        最近更新 更多