Jboss Eap - mod_cluster - 防止jboss互相交谈

时间:2013-09-08 07:29:52

标签: java jboss load-balancing mod-cluster

我有一个jboss设置,在一个VM上有2个jboss实例。 2 jboss中的每一个都与同一个VM上的2个apach通信。


Apache 1 apache监听端口是82

<VirtualHost 192.168.1.2:6262>

    <Directory />
        Order deny,allow
        Allow from all
    </Directory>

  KeepAliveTimeout 60
  MaxKeepAliveRequests 0

  ManagerBalancerName box1_cluster
  ServerAdvertise Off
# AdvertiseFrequency 5
  EnableMCPMReceive On

  <Location /mod_cluster-manager>
    SetHandler mod_cluster-manager
    Order deny,allow
    Allow from all
  </Location>
</VirtualHost>

jboss 1

        <subsystem xmlns="urn:jboss:domain:modcluster:1.1">
          <mod-cluster-config advertise-socket="modcluster" connector="ajp" proxy-list="192.168.1.2:6262" balancer="box1_cluster">
            <dynamic-load-provider>
              <load-metric type="busyness"/>
            </dynamic-load-provider>
          </mod-cluster-config>
        </subsystem>

  <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">


        <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>
        <outbound-socket-binding name="mail-smtp">
            <remote-destination host="localhost" port="25"/>
        </outbound-socket-binding>
    </socket-binding-group>

Apache 2,监听端口是83

<VirtualHost 192.168.1.2:6263>

    <Directory />
        Order deny,allow
        Allow from all
    </Directory>

  KeepAliveTimeout 60
  MaxKeepAliveRequests 0

  ManagerBalancerName box2_cluster
  ServerAdvertise Off
# AdvertiseFrequency 5
  EnableMCPMReceive On

  <Location /mod_cluster-manager>
    SetHandler mod_cluster-manager
    Order deny,allow
    Allow from all
  </Location>

</VirtualHost>

jboss 2

     <subsystem xmlns="urn:jboss:domain:modcluster:1.1">
          <mod-cluster-config advertise-socket="modcluster" connector="ajp" proxy-list="192.168.1.2:6263" balancer="box2_cluster">
            <dynamic-load-provider>
              <load-metric type="busyness"/>
            </dynamic-load-provider>
          </mod-cluster-config>
        </subsystem>

  <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">

        <socket-binding name="txn-status-manager" port="4713"/>
        <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>
        <outbound-socket-binding name="mail-smtp">
            <remote-destination host="localhost" port="25"/>
        </outbound-socket-binding>
    </socket-binding-group>

apache运行良好并连接到jboss。该apache还会检测所有已部署的应用程序。


问题: -

  

     

192.168.1.2:6262/mod_cluster-manager完成它显示部署在第二个jboss上的应用程序。我想确保apache 1   检测部署在jboss 1中的应用程序,而不是其他应用程序   应用。基本上我想使用mod_cluster但不想让一个jboss与另一个人交谈。我想使用mod_cluster for jboss将应用程序自动发布到apache.But我不想让2个jboss互相交流。

1 个答案:

答案 0 :(得分:1)

如果您不希望两个JBoss实例串扰(因为它们不在同一个集群中),那么您应该让2个节点侦听唯一的多播地址。

顺便说一句,如果您不使用群集,则会失去会话复制和高可用性的能力。