【问题标题】:Config ELB with ESB . Cannot call worker via ELB's proxyport?使用 ESB 配置 ELB。无法通过 ELB 的代理端口调用 worker?
【发布时间】:2016-01-10 23:19:30
【问题描述】:

我正在尝试设置 ELB 和 ESB 关注网站:Setting Cluster WSO2

当ELB和两个Node ESB(Manager和Worker为样本节点)时

  • 防火墙已关闭
  • 我使用 mysql 来存储数据库。 register.xml 和 datasource 中的所有配置都是 true。
  • 这是主机文件(在每个 WSO2 (ELB+2ESB) 中):
192.168.85.134  server1.elb1.wso2.com
192.168.85.134  elb1.wso2.com
192.168.85.133  elb2.wso2.com
192.168.85.133  server2.elb2.wso2.com
192.168.85.132  mgt.esb.wso2.com
192.168.85.132  server3.mgt.esb.wso2.com
192.168.85.131  worker.esb.wso2.com
192.168.85.131  server4.worker.esb.wso2.com
  • ELB 配置:
  - carbon.xml : <Offset>0</Offset>
  - loadbalancer.conf : 
    # ESB CONFIGURE
    esb {
        domains{
            wso2.esb.com {
            tenant_range *;
            group_mgt_port 4500;
            mgt {
                hosts server3.mgt.esb.wso2.com;
            }
            worker {
                hosts server4.worker.esb.wso2.com;
            }
        }
  • ESB 管理器配置:
-  carbon.xml : <Offset>1</Offset>
  -  axis2.xml :
  <parameter name="domain">wso2.esb.com</parameter>
  <parameter name="localMemberHost">server3.mgt.esb.wso2.com</parameter>
  <parameter name="localMemberPort">4100</parameter>


  <property name="subDomain" value="mgt"/>

  <members>
       <member>
            <hostName>server1.elb1.wso2.com</hostName>
            <port>4500</port>
        </member>
  </members>

  <transportReceiver name="http" class="org.apache.synapse.transport.passthru.PassThroughHttpListener">
        <parameter name="port" locked="false">8280</parameter>
        <parameter name="non-blocking" locked="false">true</parameter>
        <!--parameter name="bind-address" locked="false">hostname or IP address</parameter-->
        <parameter name="WSDLEPRPrefix" locked="false">http://server4.worker.esb.wso2.com:8280</parameter>
        <parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.PassThroughNHttpGetProcessor</parameter>
        <!--<parameter name="priorityConfigFile" locked="false">location of priority configuration file</parameter>-->
    </transportReceiver>

     <transportReceiver name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLListener">
        <parameter name="port" locked="false">8243</parameter>
        <parameter name="non-blocking" locked="false">true</parameter>
        <!--parameter name="bind-address" locked="false">hostname or IP address</parameter-->
        <parameter name="WSDLEPRPrefix" locked="false">https://server4.worker.esb.wso2.com:8243</parameter>
     <parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.PassThroughNHttpGetProcessor</parameter>
  • ESB 工作节点
-  carbon.xml : <Offset>2</Offset>
      -  catalina-server.xml :
      <Connector  protocol="org.apache.coyote.http11.Http11NioProtocol"
                    port="9763"
                    proxyPort="8280"
                    redirectPort="9443" 
                    bindOnInit="false"
                    maxHttpHeaderSize="8192"
                    acceptorThreadCount="2"
                    maxThreads="250"
                    minSpareThreads="50"
                    disableUploadTimeout="false"
                    connectionUploadTimeout="120000"
                    maxKeepAliveRequests="200"
                    acceptCount="200"
                    server="WSO2 Carbon Server"
                    compression="on"
                    compressionMinSize="2048"
                    noCompressionUserAgents="gozilla, traviata"
                    compressableMimeType="text/html,text/javascript,application/x-javascript,application/javascript,application/xml,text/css,application/xslt+xml,text/xsl,image/gif,image/jpg,image/jpeg" 
                    URIEncoding="UTF-8"/>

        <!--
        optional attributes:

        proxyPort="443"
        -->
        <Connector  protocol="org.apache.coyote.http11.Http11NioProtocol"
                    port="9443"
                    proxyPort="8280"
                    bindOnInit="false"
                    sslProtocol="TLS"
                    maxHttpHeaderSize="8192"
                    acceptorThreadCount="2"
                    maxThreads="250"
                    minSpareThreads="50"
                    disableUploadTimeout="false"
                    enableLookups="false"
                    connectionUploadTimeout="120000"
                    maxKeepAliveRequests="200"
                    acceptCount="200"
                    server="WSO2 Carbon Server"
                    clientAuth="false"
                    compression="on"
                    scheme="https"
                    secure="true"
                    SSLEnabled="true"
                    compressionMinSize="2048"
                    noCompressionUserAgents="gozilla, traviata"
                    compressableMimeType="text/html,text/javascript,application/x-javascript,application/javascript,application/xml,text/css,application/xslt+xml,text/xsl,image/gif,image/jpg,image/jpeg"
                    URIEncoding="UTF-8"/>

      -  axis2.xml :
            <property name="port.mapping.8280" value="9765"/>
            <property name="port.mapping.8243" value="9445"/>
            <property name="subDomain" value="worker"/>

            <members>
                <member>
                    <hostName>mgt.esb.wso2.com</hostName>
                    <port>4100</port>
                </member>
              <member>
                    <hostName>elb1.esb.wso2.com</hostName>
                    <port>4500</port>
                </member>
            </members>

            <parameter name="localMemberHost">worker.esb.wso2.com</parameter>

            <parameter name="localMemberPort">4200</parameter>

            <parameter name="domain">wso2.esb.com</parameter>

集群加入正常。但是当我尝试打电话给http://server4.worker.esb.wso2.com:8280/services/Versionand
当我打电话给http://server4.worker.esb.wso2.com:8282/services/Version 时,当然,我不明白为什么 ELB 不能通过代理端口 8280 或 8243 指导 ESB 工作人员:/(或 80 / 443) 怎么了 ?

【问题讨论】:

    标签: wso2 cluster-computing wso2esb esb


    【解决方案1】:

    WSO2 弹性负载均衡器已停产。您可以download NGinx - NGinx 的负载均衡器 - 我们提供支持。

    除此之外,有关使用 Nginx LB 创建 WSO2 ESB 集群的更多信息,您可以访问this link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-23
      • 1970-01-01
      • 2019-03-22
      • 1970-01-01
      • 2021-03-24
      • 2015-01-05
      • 2019-11-07
      • 1970-01-01
      相关资源
      最近更新 更多