2 Replies Latest reply on Feb 22, 2007 11:06 AM by manik

    One node in two clusters?

    chrismeadows

      Is it possible for one cache node to be in two clusters? I've read in a couple of places around the JBoss website that it is possible, but haven't seen how to configure the cache in that way.

      What config sections do I duplicate?

      The reason I want to do this as follows; I have a cluster in Europe and a cluster in USA. The nodes in each cluster replicate synchronously over LAN via UDP. Then I want one node of each cluster to also replicate asynchronously over WAN via TCP to the other cluster.

      What config setup do I need for the nodes that are replicating both within the LAN and the WAN? Do I duplicate the JGroup config, but then how do I relate the UDP config to sync LAN replication and TCP config to async WAN replication?

      Or do I have to use a shared cache loader? I've thought about it, but that seems a tricky implementation and so doesn't feel like the right solution.

      Can anyone provide any insight? Or better still, an example config file?

      Thanks for any help,

      Chris

        • 1. Re: One node in two clusters?
          chrismeadows

          I've almost achieved what I need by using TcpDelegatingCacheLoaders. The configuration I have is:

          Cluster 1 has two nodes A and B replicating using UDP.
          Cluster 2 has two nodes C and D replicating using UDP.

          A, B, C, D all use unshared cacheloaders

          Clusters 1 and 2 cannot find each other

          Node A has a chained TcpDelegatingCacheLoader, delegating to a TcpCacheServer that wraps node D
          Node C has a chained TcpDelegatingCacheLoader, delegating to a TcpCacheServer that wraps node B

          Now what happens is that a single cache change is continually propagated in a loop, typically A->C->B->D->A, because A does not know that the update incoming from D originated from A (A and D are in separate clusters).

          I think I'm close to what I am trying to achieve; can anyone fill in the miss bits? Can the data packets be given UUIDs so that A can ignore packets that it created?

          Also, it looks like the true tag is ignored for the TcpDelegatingCacheLoader




          • 2. Re: One node in two clusters?
            manik

            This is very close to what you are trying to achieve. Perhaps instead of making them unshared, you could create a singleton cache loader? This will solve the problem of "A ignoring the packets it creates", as you say?


            Also, it looks like the true tag is ignored for the TcpDelegatingCacheLoader

            Which true tag?