3 Replies Latest reply on Feb 10, 2016 3:10 AM by Himanshu Mundeepi

    How to configure WildFly9 session replication based on TCP

    valsaraj viswanathan Master

      Tried the samples found using multicast and faced issues with detecting automatically. How to configure WildFly9 session replication based on TCP?

        • 1. Re: How to configure WildFly9 session replication based on TCP
          Jay SenSharma Master

          You need to just configure the "urn:jboss:domain:jgroups" subsystem to use the  TCPPING  instead of MPING as following

           

          <subsystem xmlns="urn:jboss:domain:jgroups:2.0" default-stack="tcpping">

           

              <stack name="tcpping">

                  <transport type="TCP" socket-binding="jgroups-tcp"/>

                  <protocol type="TCPPING">

                      <property name="initial_hosts">192.168.10.1[7600],192.168.10.2[7600]</property>

                      <property name="port_range">10</property>

                      <property name="timeout">3000</property>

                      <property name="num_initial_members">2</property>

                  </protocol>

                  <protocol type="MERGE2"/>

                  <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>

                  <protocol type="FD"/>

                  <protocol type="VERIFY_SUSPECT"/>

                  <protocol type="BARRIER"/>

                  <protocol type="pbcast.NAKACK"/>

                  <protocol type="UNICAST2"/>

                  <protocol type="pbcast.STABLE"/>

                  <protocol type="pbcast.GMS"/>

                  <protocol type="UFC"/>

                  <protocol type="MFC"/>

                  <protocol type="FRAG2"/>

                  <protocol type="RSVP"/>

              </stack>

          </subsystem>


          Regards

          Jay SenSharma

          • 2. Re: How to configure WildFly9 session replication based on TCP
            valsaraj viswanathan Master

            Hi Jay,

             

            Here is the jgroups conf in wildlfy 9:

            <subsystem xmlns="urn:jboss:domain:jgroups:3.0">

                            <channels default="ee">

                                <channel name="ee"/>

                            </channels>

                            <stacks default="udp">

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

                                    <protocol type="RSVP"/>

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

                                    <protocol type="RSVP"/>

                                </stack>

                            </stacks>

                        </subsystem>

             

            What change we need here?

             

            Thank you!

            • 3. Re: How to configure WildFly9 session replication based on TCP
              Himanshu Mundeepi Newbie

              I've used Gossip Router  Protocol on TCP Stack to achieve the same.

               

              Step 1: Change "10.0.33.70" to the IPs where Gossip router is listening in the below configuration file. 

               

                                  <property name="initial_hosts">

                                       10.0.33.70[12001]   

                                  </property>

               

              Step 2: Start Gossip router in all the system using below command

               

              $ java -classpath /opt/wildfly-8.2.1.Final/modules/system/layers/base/org/jgroups/main/jgroups-3.4.5.Final.jar:/opt/wildfly-8.2.1.Final/modules/system/layers/base/org/jgroups/main/jgroups-3.4.5.Final.jar org.jgroups.stack.GossipRouter -port 12001

               

              Step 3: Start Wildfly Server.

               

              Not check it. Yes, it will work smoothly.

               

              Find below Jgroups configuration settings:

               

              <subsystem xmlns="urn:jboss:domain:jgroups:2.0" default-stack="tcp">

                          <stack name="udp">

                              <transport type="UDP" socket-binding="jgroups-udp">

                      <property name="ip_mcast">

                                      false

                                  </property>

                              </transport>

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

                              <protocol type="RSVP"/>

                          </stack>

                          <stack name="tcp">

                              <transport type="TCP" socket-binding="jgroups-tcp"/>

                              <protocol type="TCPGOSSIP">

                                  <property name="initial_hosts">

                                       10.0.33.70[12001]    

                                  </property>

                                  <property name="num_initial_members">

                                      2

                                  </property>

                              </protocol>

                              <protocol type="MERGE2"/>

                              <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>

                              <protocol type="FD"/>

                              <protocol type="VERIFY_SUSPECT"/>

                              <protocol type="pbcast.NAKACK2">

                                  <property name="use_mcast_xmit">

                                      false

                                  </property>

                              </protocol>

                              <protocol type="UNICAST3"/>

                              <protocol type="pbcast.STABLE"/>

                              <protocol type="pbcast.GMS"/>

                              <protocol type="MFC"/>

                              <protocol type="FRAG2"/>

                              <protocol type="RSVP"/>

                               </stack>

                      </subsystem>

               

              Thanks a lot and Best regards,

              Himanshu Mundeepi