1 Reply Latest reply on Feb 28, 2006 8:34 AM by Bela Ban

    Using a TCPGOSSIP server

    Soeren Gerlach Newbie


      currently we're using JBossCache for an application that is running on about 10 machines, relying solely on a TCP stack as UDP + Broadcasting caused some problems in the past. I.e. the discovery protocol is TCPPING where we need to specify each machine separately. However, if we add a new machine the configuration need to change on every of the existing machines to be extended by the new machine. There are also some inherent problems with the TCPPING protocol regarding the handling of timeouts at discovery that must be taken care of additionally.

      So the idea came up to use the TCPGOSSIP for discovery as we don't have to change the clients than anymore, and my question is how to configure the server side.
      The idea is to have several PCs pc1, pc2...pcN and a gossip server running. The configuration on the PCs is quite easy as we just need to specify the TCPGOSSIP server (i.e. it's ip and port). But what looks the configuration like on the central server?

      On the clients my configuration (partly) looks like this:

      <TCPGOSSIP initial_hosts="server[7800], backup[7800]">

      Does this line also work on the two gossip servers (one for backup, one primary)? That means: Does the "server" machine notify he's the server itself and does he work as a gossip server automatically or does it need a different configuration from the above?

      Thanks & regards,
      Soeren Gerlach

        • 1. Re: Using a TCPGOSSIP server
          Bela Ban Master

          Okay, first start the GossipRouter on localhost and port 12001. Then use the tunnel.xml config from the JGroups source distro (below).
          It uses PING, but you can also use TCPGOSSIP instead. If you start multiple GossipRouters, simply list all of them (for lookup) in TCPGOSSIP.

          <TUNNEL router_port="12001" router_host="localhost"/>
          <PING timeout="3000" gossip_refresh="10000" num_initial_members="3" gossip_host="localhost" gossip_port="12001"/>
          <MERGE2 max_interval="10000" min_interval="5000"/>

          <VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false"/>
          <pbcast.NAKACK gc_lag="100" retransmit_timeout="600,1200,2400,4800"/>
          <pbcast.STABLE stability_delay="1000" desired_avg_gossip="20000" down_thread="false" max_bytes="0" up_thread="false"/>
          <pbcast.GMS print_local_addr="true" join_timeout="5000" join_retry_timeout="2000" shun="true"/>