You have several different options when choosing the topology for your deployment that incorporates multimaster replication.
A replication data grid infrastructure is a connected graph of dominios de servicio de catálogo with bidirectional links among them. With a link, two dominios de servicio de catálogo can communicate data changes. For example, the simplest topology is a pair of dominios de servicio de catálogo with a single link between them. The dominios de servicio de catálogo are named alphabetically: A, B, C, and so on, from the left. A link can cross a wide area network (WAN), spanning large distances. Even if the link is interrupted, you can still change data in either dominio de servicio de catálogo. The topology reconciles changes when the link reconnects the dominios de servicio de catálogo. Links automatically try to reconnect if the network connection is interrupted.
After you set up the links, the product first tries to make every dominio de servicio de catálogo identical. Then, eXtreme Scale tries to maintain the identical conditions as changes occur in any dominio de servicio de catálogo. The goal is for each dominio de servicio de catálogo to be an exact mirror of every other dominio de servicio de catálogo connected by the links. The replication links between the dominios de servicio de catálogo help ensure that any changes made in one dominio de servicio de catálogo are copied to the other dominios de servicio de catálogo.
Although it is such a simple deployment, a line topology demonstrates some qualities of the links. First, it is not necessary for a dominio de servicio de catálogo to be connected directly to every other dominio de servicio de catálogo to receive changes. The dominio de servicio de catálogo B pulls changes from dominio de servicio de catálogo A. The dominio de servicio de catálogo C receives changes from dominio de servicio de catálogo A through dominio de servicio de catálogo B, which connects dominios de servicio de catálogo A and C. Similarly, dominio de servicio de catálogo D receives changes from the other dominios de servicio de catálogo through dominio de servicio de catálogo C. This ability spreads the load of distributing changes away from the source of the changes.
Ring topologies are an example of a more resilient topology. When a dominio de servicio de catálogo or a single link fails, the surviving dominios de servicio de catálogo can still obtain changes. The dominios de servicio de catálogo travel around the ring, away from the failure. Each dominio de servicio de catálogo has at most two links to other dominios de servicio de catálogo, no matter how large the ring topology. The latency to propagate changes can be large. Changes from a particular dominio de servicio de catálogo might need to travel through several links before all the dominios de servicio de catálogo have the changes. A line topology has the same characteristic.
You can also deploy a more sophisticated ring topology, with a root dominio de servicio de catálogo at the center of the ring. The root dominio de servicio de catálogo functions as the central point of reconciliation. The other dominios de servicio de catálogo act as remote points of reconciliation for changes occurring in the root dominio de servicio de catálogo. The root dominio de servicio de catálogo can arbitrate changes among the dominios de servicio de catálogo. If a ring topology contains more than one ring around a root dominio de servicio de catálogo, the dominio de servicio de catálogo can only arbitrate changes among the innermost ring. However, the results of the arbitration spread throughout the dominios de servicio de catálogo in the other rings.
With a hub-and-spoke topology, changes travel through a hub dominio de servicio de catálogo. Because the hub is the only intermediate dominio de servicio de catálogo that is specified, hub-and-spoke topologies have lower latency. The hub dominio de servicio de catálogo is connected to every spoke dominio de servicio de catálogo through a link. The hub distributes changes among the dominios de servicio de catálogo. The hub acts as a point of reconciliation for collisions. In an environment with a high update rate, the hub might require run on more hardware than the spokes to remain synchronized. WebSphere® eXtreme Scale is designed to scale linearly, meaning you can make the hub larger, as needed, without difficulty. However, if the hub fails, then changes are not distributed until the hub restarts. Any changes on the spoke dominios de servicio de catálogo will be distributed after the hub is reconnected.
You can also use a strategy with fully replicated clients, a topology variation which uses a pair of servers that are running as a hub. Every client creates a self-contained single container data grid with a catalog in the client JVM. A client uses its data grid to connect to the hub catalog. This connection causes the client to synchronize with the hub as soon as the client obtains a connection to the hub.
Any changes made by the client are local to the client, and are replicated asynchronously to the hub. The hub acts as an arbitration dominio de servicio de catálogo, distributing changes to all connected clients. The fully replicated clients topology provides a reliable L2 cache for an object relational mapper, such as OpenJPA. Changes are distributed quickly among client JVMs through the hub. If the cache size can be contained within the available heap space, the topology is a reliable architecture for this style of L2.
Use multiple partitions to scale the hub dominio de servicio de catálogo on multiple JVMs, if necessary. Because all of the data still must fit in a single client JVM, multiple partitions increase the capacity of the hub to distribute and arbitrate changes. However, having multiple partitions does not change the capacity of a single dominio de servicio de catálogo.
You can also use an acyclic directed tree. An acyclic tree has no cycles or loops, and a directed setup limits links to existing only between parents and children. This configuration is useful for topologies that have many dominios de servicio de catálogo. In these topologies, it is not practical to have a central hub that is connected to every possible spoke. This type of topology can also be useful when you must add child dominios de servicio de catálogo without updating the root dominio de servicio de catálogo.
A tree topology can still have a central point of reconciliation in the root dominio de servicio de catálogo. The second level can still function as a remote point of reconciliation for changes occurring in the dominio de servicio de catálogo beneath them. The root dominio de servicio de catálogo can arbitrate changes between the dominios de servicio de catálogo on the second level only. You can also use N-ary trees, each of which have N children at each level. Each dominio de servicio de catálogo connects out to n links.
This topology variation involves a pair of servers that are running as a hub. Every client creates a self-contained single container data grid with a catalog in the client JVM. A client uses its data grid to connect to the hub catalog, causing the client to synchronize with the hub as soon as the client obtains a connection to the hub.
Any changes made by the client are local to the client, and are replicated asynchronously to the hub. The hub acts as an arbitration dominio de servicio de catálogo, distributing changes to all connected clients. The fully replicated clients topology provides a good L2 cache for an object relational mapper, such as OpenJPA. Changes are distributed quickly among client JVMs through the hub. As long as the cache size can be contained within the available heap space of the clients, this topology is a good architecture for this style of L2.
Use multiple partitions to scale the hub dominio de servicio de catálogo on multiple JVMs, if necessary. Because all of the data still must fit in a single client JVM, using multiple partitions increases the capacity of the hub to distribute and arbitrate changes, but it does not change the capacity of a single dominio de servicio de catálogo.