关于JBoss EAP配置文件中interface配置的一些总结

一、概述

在JBoss EAP的各种配置文件(包括standalone.xml、domain.xml、host.xml等等)中,interface部分是不太起眼的一部分。看起来比较简单,一般情况下也无须修改,但如果不小心一样会在实践中造成相当的困扰。本文对这部分进行一些经验性总结,至于更深层次的原理探究,一时还顾不上。

先做个铺垫,JBoss EAP已经预设置了四种interface,其绑定IP缺省为127.0.0.1,如下:

<interfaces>
  <interface name="management">
    <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
  </interface>
  <interface name="public">
    <inet-address value="${jboss.bind.address:127.0.0.1}"/>
  </interface>
  <interface name="private">
    <inet-address value="${jboss.bind.address.private:127.0.0.1}"/>
  </interface>
  <interface name="unsecure">
    <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
  </interface>
</interfaces>

二、standalone.xml的配置

最简单也是最常用的JBoss EAP使用场景,是一个服务器上使用standalone.xml来运行单独的实例。此时,关于interface的配置只包括management和public两项:

<interfaces>
  <interface name="management">
    <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
  </interface>
  <interface name="public">
    <inet-address value="${jboss.bind.address:127.0.0.1}"/>
  </interface>
</interfaces>

不能简单地添加private和unsecure项,也不能将IP修改为实际IP,否则启动JBoss实例时会出错。

三、standalone-ha.xml或standalone-full-ha.xml的配置

通常用到standalone-ha.xml或standalone-full-ha.xml的场景比较少见,不过实际上用它们同样可以组建JBoss EAP集群,只不过比起domain模式来要麻烦一些。具体方法是:在各节点上采用相同的配置和部署,然后linux平台以 standalone.sh -c standalone-ha.xml(或standalone-full-ha.xml),而在windows平台以standalone.bat -c standalone-ha.xml(或standalone-full-ha.xml)启动。

另外,如果想在standalone.xml的基础上添加interface项或更改绑定IP,不妨在这两个配置文件的基础上修改。

以7.x版的standalone-ha.xml为例,关于interface的缺省设置为:

    <interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
        </interface>
        <interface name="public">
            <inet-address value="${jboss.bind.address:127.0.0.1}"/>
        </interface>
        <interface name="private">
            <inet-address value="${jboss.bind.address.private:127.0.0.1}"/>
        </interface>
    </interfaces>

而standalone-full-ha.xml中还报括了unsecure项,缺省IP也是127.0.0.1。

如果需要用standalone-ha.xml或standalone-full-ha.xml配置为JBoss集群,则绑定IP均需改为服务器各自的实际IP。如果不需要组成集群,则改与不改均可。

四、domain.xml的配置

通常情况下,组件JBoss集群大都使用domain.xml + host.xml的配置。

对于6.x和7.x版,domain.xml中关于interface的配置有所不同:

    <!-- 6.x的缺省配置 -->
    <interfaces>
        <interface name="management"/>
        <interface name="public"/>
        <interface name="unsecure"/>
    </interfaces>

    <!-- 7.x的缺省配置 -->
    <interfaces>
        <interface name="management"/>
        <interface name="public"/>
        <interface name="private">
            <inet-address value="${jboss.bind.address.private:127.0.0.1}"/>
        </interface>
        <interface name="unsecure">
            <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
        </interface>
    </interfaces>

不管是哪一种,都不需要对其进行修改。

五、host.xml的配置

host.xml(host-master.xml和host-slave.xml同理)的情况要复杂一些。

对于6.x版,缺省配置为:

    <interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
        </interface>
        <interface name="public">
           <inet-address value="${jboss.bind.address:127.0.0.1}"/>
        </interface>
        <interface name="unsecure">
            <!-- Used for IIOP sockets in the standard configuration.
                 To secure JacORB you need to setup SSL -->
            <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
        </interface>
    </interfaces>

如果要组成集群或从开通外部访问,需将三处127.0.0.1修改为服务器的实际IP。注意,这里没有private项。

对于7.x,缺省配置只包含management和public两项,为:

    <interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
        </interface>
        <interface name="public">
            <inet-address value="${jboss.bind.address:127.0.0.1}"/>
        </interface>
    </interfaces>

如果只是单纯地开通外部访问,将两处127.0.0.1修改为服务器的实际IP即可。

但如果还要组成集群(使用ha或full-ha的profile),则必须增加private项(为保险unsecure项也一起增加),否则将来无法实现负载均衡和session复制。另外,别忘记将此处所有的127.0.0.1修改为服务器的实际IP。

六、总结

再次吐个槽:JBoss EAP的资料太少,完全靠自己摸索,效率不高。

posted @ 2018-08-20 17:23  闻歌感旧  阅读(1340)  评论(0编辑  收藏  举报