2015-07-28 16 views
1

我有許多具有IP地址10.4.0.X的wildfly-8.2節點。我需要將它們分成2個不同的羣集。不幸的是,我收到了來自不包含在羣集中的節點的消息。每個羣集都接收來自所有節點的消息,因爲它們都在10.4.0以下。這裏是Apache的我mod_cluster配置:如何在普通IP中設置不同的羣集

# MOD_CLUSTER_ADDS 
<IfModule manager_module> 
Listen 10.4.0.1:10001 
ManagerBalancerName testbalancer 

<VirtualHost 10.4.0.1:10001> 
<Location /> 
Order deny,allow 
Deny from all 
Allow from 10.4.0. 
</Location> 

KeepAliveTimeout 300 
MaxKeepAliveRequests 0 
#ServerAdvertise on http://10.4.0.1:10001 
AdvertiseFrequency 5 
#AdvertiseSecurityKey secret 
#AdvertiseGroup 224.0.1.105:23364 
EnableMCPMReceive 


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

回答

4

我想這可能是在域模式下widlfly使用一個很好的方案,這樣你可以配置多個服務器組(子羣集),並進行集中管理使用域控制器。詳細教程可在此處獲得: http://blog.akquinet.de/2012/07/19/scalable-ha-clustering-with-jboss-as-7-eap-6/

本教程將多個服務器組拆分爲mod_cluster上的多個負載均衡器組。

要只配置單個節點分成不同的負載均衡組的mod_cluster(沒有這個試過嘍!),你可以在MOD-集羣配置使用lbgroup參數:

<subsystem xmlns="urn:jboss:domain:modcluster:1.1"> 
     <mod-cluster-config advertise-socket="modcluster" 
     balancer="myBalancer" load-balancing-group="myLBGroup" 
     connector="ajp"> 
      <dynamic-load-provider> 
       <load-metric type="busyness"/> 
      </dynamic-load-provider> 
     </mod-cluster-config> 
    </subsystem> 

裁判:https://developer.jboss.org/thread/203907

實際上將野蠅實例分成單獨的簇是另一回事。曾經有一個屬性爲「jboss.partition.name」,但這已被替換爲爲子網內的羣集分區定義唯一的多播地址/端口組合。

https://developer.jboss.org/thread/177877

因此,假如你正在使用UDP作爲您的JGroups棧,您可以更改使用 「-u」 命令行參數的多播地址:

https://docs.jboss.org/author/display/WFLY8/Command+line+parameters#Commandlineparameters-defaultmulticastaddress

配置mod_cluster的替代可能會禁用廣告(節點和mod_cluster)並在standalone.xml中使用靜態配置:

<mod-cluster-config proxy-list="10.0.1.2:6667"/> 

這樣,節點將不再通告,並且對不同的mod_cluster apache代理的分配將是靜態的。

裁判:https://developer.jboss.org/thread/218813

裁判:https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Administration_and_Configuration_Guide/Configure_the_mod_cluster_Subsystem_to_Use_TCP.html

+1

我已經做了所有這些步驟;創建lbgroups併爲每個組使用不同的多播地址。在我的情況下,每個組有2個lbgroups,2個Apache服務器。我使用多播地址:一個組的230.0.0.4和其他組的230.0.0.14。由於每個Apache都在10.4.0.x以下,它們也從其他lbgroup的節點獲取消息。我爲每個Apache在不同的lbgroups中設置了不同的ManagerBalancerName,但沒有任何變化。 –

+1

您可以嘗試爲每個羣集靜態配置代理列表,我更新上面的答案。代理列表也可以採取多個服務器,形式如下:address1:port1,address2:port2 – sprockets

+0

ok,10.0.1.2:6667 - 這是Apache的地址和端口嗎?如果是這樣,這個端口6667在哪裏定義?我正在使用WildFly-8.2,這將是wildfly的默認端口?在我的配置中它將是10.4.0.1:10001? –