Les version de WildFly

Doc WildFly

Tableau de bord

Les commandes de bases avec jtips.info pour WildFly (7)

wildfly TCPPING "urn:jboss:domain:jgroups:4.0"

Wildfly 10.0.00 et 10.1.0 sont livrés avec cette configuration par défaut pour JGroups pour le High Availability (HA)

wildfly-10.1.0.Final/standalone/ standalone-ha.xml ou standalone-full-ha.xml :


<subsystem xmlns="urn:jboss:domain:jgroups:4.0">
            <channels default="ee">
                <channel name="ee" stack="udp"/>
            </channels>
            <stacks>
                <stack name="udp">
                    <transport type="UDP" socket-binding="jgroups-udp"/>
                    <protocol type="PING"/>
                    <protocol type="MERGE3"/>
                    <protocol type="FD_SOCK" socket-binding="jgroups-udp-fd"/>
                    <protocol type="FD_ALL"/>
                    <protocol type="VERIFY_SUSPECT"/>
                    <protocol type="pbcast.NAKACK2"/>
                    <protocol type="UNICAST3"/>
                    <protocol type="pbcast.STABLE"/>
                    <protocol type="pbcast.GMS"/>
                    <protocol type="UFC"/>
                    <protocol type="MFC"/>
                    <protocol type="FRAG2"/>
                </stack>
                <stack name="tcp">
                    <transport type="TCP" socket-binding="jgroups-tcp"/>
                    <protocol type="MPING" socket-binding="jgroups-mping"/>
                    <protocol type="MERGE3"/>
                    <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
                    <protocol type="FD"/>
                    <protocol type="VERIFY_SUSPECT"/>
                    <protocol type="pbcast.NAKACK2"/>
                    <protocol type="UNICAST3"/>
                    <protocol type="pbcast.STABLE"/>
                    <protocol type="pbcast.GMS"/>
                    <protocol type="MFC"/>
                    <protocol type="FRAG2"/>
                </stack>
            </stacks>
        </subsystem>

    <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>

    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        <!- ... -->
        <socket-binding name="jgroups-mping" interface="private" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/>
        <socket-binding name="jgroups-tcp" interface="private" port="7600"/>
        <socket-binding name="jgroups-tcp-fd" interface="private" port="57600"/>
        <socket-binding name="jgroups-udp" interface="private" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/>
        <socket-binding name="jgroups-udp-fd" interface="private" port="54200"/>
        <!- ... -->
    </socket-binding-group>

Pour activer le TCPPING, il faut :

Commenter la section <stack name="udp">

(ou est ce que remplacer <stacks> en <stacks default="tcp">, ou bien encore rajouter default-stack="tcp"> dans <subsystem xmlns="urn:jboss:domain:jgroups:4.0" default-stack="tcp"> fait l'affaire ? il me semble que c'est obsolète)

Configurer <protocol type="TCPPING">

<!--
		<subsystem xmlns="urn:jboss:domain:jgroups:4.0">
		-->
        <subsystem xmlns="urn:jboss:domain:jgroups:4.0" default-stack="tcp">
            <channels default="ee">
				<!--
                <channel name="ee" stack="udp"/>
				-->
				<channel name="ee" stack="tcp"/>
            </channels>
			<!--
            <stacks>
			-->
			<stacks default="tcp">
				<!--
                <stack name="udp">
                    <transport type="UDP" socket-binding="jgroups-udp"/>
                    <protocol type="PING"/>
                    <protocol type="MERGE3"/>
                    <protocol type="FD_SOCK" socket-binding="jgroups-udp-fd"/>
                    <protocol type="FD_ALL"/>
                    <protocol type="VERIFY_SUSPECT"/>
                    <protocol type="pbcast.NAKACK2"/>
                    <protocol type="UNICAST3"/>
                    <protocol type="pbcast.STABLE"/>
                    <protocol type="pbcast.GMS"/>
                    <protocol type="UFC"/>
                    <protocol type="MFC"/>
                    <protocol type="FRAG2"/>
                </stack>
				-->
                <stack name="tcp">
                    <transport type="TCP" socket-binding="jgroups-tcp"/>
                    <protocol type="TCPPING">
                        <property name="initial_hosts">
                            ${jboss.jgroups.custom.ippeer.addr:127.0.0.1}[7600]
                        </property>
						<!--
                        <property name="initial_hosts">
                            1.1.1.1[7600],2.2.2.2[7600]
                        </property>
						-->
                        <property name="port_range">
                            0
                        </property>
                        <property name="timeout">
                            3000
                        </property>
                        <property name="num_initial_members">
                            2
                        </property>
                    </protocol>
					<!--
                    <protocol type="MPING" socket-binding="jgroups-mping"/>
					-->
                    <protocol type="MERGE3"/>
                    <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
                    <protocol type="FD"/>
                    <protocol type="VERIFY_SUSPECT"/>
                    <protocol type="pbcast.NAKACK2"/>
                    <protocol type="UNICAST3"/>
                    <protocol type="pbcast.STABLE"/>
                    <protocol type="pbcast.GMS"/>
                    <protocol type="MFC"/>
                    <protocol type="FRAG2"/>
                </stack>
            </stacks>
        </subsystem>

Déclarer les accès IP

The JGroups tutorial

Avec les serveurs configurés par IP / Nom de nœud :

  • Serveur N°1 : 1.1.1.1 / NodeL1
  • Serveur N°2 : 2.2.2.2 / NodeW1

./standalone.sh -b 0.0.0.0 --server-config=standalone-full-ha.xml -Djboss.node.name=NodeL1 -Djboss.bind.address=1.1.1.1 -Djboss.bind.address.management=1.1.1.1 -Djboss.bind.address.private=1.1.1.1 -Djgroups.bind_addr=1.1.1.1 -Djboss.jgroups.custom.ippeer.addr=2.2.2.2

.\standalone.bat --server-config=standalone-full-ha.xml -Djboss.node.name=NodeW1 -Djboss.bind.address=2.2.2.2 -Djboss.bind.address.management=2.2.2.2 -Djboss.bind.address.private=2.2.2.2 -Djgroups.bind_addr=2.2.2.2 -Djboss.jgroups.custom.ippeer.addr=1.1.1.1

Voyez les configurations WFLY10 :