zoukankan      html  css  js  c++  java
  • jboss之mod_cluster集群

    本篇针对的mode_cluster版本是mod_cluster-1.2.6.Final-linux2-x64.tar.gz / mod_cluster-1.2.6.Final-windows-amd64.zip 

    1.通过对jboss集群部署,我们看到几乎没怎么配置就能运行了,很神奇,那么mod_cluster是怎么发现jboss server的呢?

    主要是<IfModule manager_module>节点的修改,原本有些注释掉的配置

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

    通过查阅mod_cluster文档,

    • ServerAdvertise:是否使用组播机制,文档上说默认是off,但我觉得应该是on,本人测试的在window上是off

        windows下:

        

        linux下:

        

    • AdvertiseSecurityKey:加入集群的密钥
    • AdvertiseGroup:组播地址,默认值224.0.1.105:23364

    因此,我们可以得出结论,mod_cluster通过组播地址224.0.1.105:23364发出广播,通知jboss server ‘i'm here'

    注:有时候我们发现在chrome下打不开127.0.0.1:6666监控界面,解决办法是修改监控端口127.0.0.1:7777,可能是6666和chrome的冲突了

    2.在看domain.xml下ha和full-ha的配置,都有这么一段

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

    找到modcluster socket的配置

    <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>

    回头看1中httpd.conf 的AdvertiseGroup配置,一样的哎,他们是一个组的,因此可以通过组播收听到彼此

    注:在jboss集群部署 篇,说过有时候windows下看不到类似ajp://***这样的节点信息,怀疑是启动顺序的问题,不太准确,解决办法是修改上面配置的mod-cluster-config节点

    <mod-cluster-config advertise-socket="modcluster" proxy-list="127.0.0.1:6666" connector="ajp">
        <dynamic-load-provider>
            <load-metric type="busyness"/>
        </dynamic-load-provider>
    </mod-cluster-config>

    就是明确监控地址

    3.问题来了,我们组的集群,假如在局域网中其他人同样也组个mod_cluster集群,跟我们一样也是默认值,就产生了冲突

    解决方法也很简单:

    先修改httpd.conf 的AdvertiseGroup:224.0.1.106:23364,

    再修改jboss master和slave的domain.xml,把ha/full-ha对应的advertise-socket改为:multicast-address="224.0.1.106" multicast-port="23364",

    根据具体情况自己改,要保证两边是一样的ip和端口号就行了

     另外:可以看到mod_cluster和jboss server建立连接使用的是ajp方式,看网上有人配置http压缩,估计是版本不一样,我觉得在jboss-eap-6.3中只要修改domain.xml下ha/full-ha profile的如下节点改成http就可以了

    <subsystem xmlns="urn:jboss:domain:modcluster:1.1">
      <mod-cluster-config advertise-socket="modcluster" connector="http">
        <dynamic-load-provider>
          <load-metric type="busyness"/>
        </dynamic-load-provider>
      </mod-cluster-config>
    </subsystem>

    本机简单看了下

     现在是http方式了

    参考:

    1. http://blog.csdn.net/kylinsoong/article/details/12292707

    2. http://blog.itpub.net/15711267/viewspace-777085/

    3. http://www.xcoder.cn/html/web/server/2013/0524/8716.html

    4. http://blog.chinaunix.net/uid-26719405-id-4916507.html

  • 相关阅读:
    POJ3094 UVALive3594 HDU2734 ZOJ2812 Quicksum【进制】
    UVALive5583 UVA562 Dividing coins
    POJ1979 HDU1312 Red and Black【DFS】
    POJ1979 HDU1312 Red and Black【DFS】
    POJ2386 Lake Counting【DFS】
    POJ2386 Lake Counting【DFS】
    HDU4394 Digital Square
    HDU4394 Digital Square
    UVA213 UVALive5152 Message Decoding
    UVA213 UVALive5152 Message Decoding
  • 原文地址:https://www.cnblogs.com/yhzh/p/4982177.html
Copyright © 2011-2022 走看看