Multi-site (WAN) Deployment
Both embedded peer-to-peer clusters and GemFire XD server clusters are tightly-coupled by design. When members of a GemFire XD cluster must share data with each other, scalability problems are magnified if the members span multiple networks that are spread out geographically across a WAN. To address this issue, GemFire XD extends the client-server deployment model by providing highly-available gateways that replicate data to remote clusters in a hub-spoke model.
Understanding Multi-site Deployment
The GemFire XD multi-site implementation loosely couples individual GemFire XD distributed systems by using gateways. A gateway is a logical connection between systems that replicates DML operations for configured tables. The gateway between systems is tolerant of weak or slow physical connections between distributed system sites. All data exchange occurs asynchronously without any loss of data or loss of event ordering.
Although the figure above shows only two GemFire XD clusters joined by a gateway, you can daisy-chain multiple distributed systems simply by adding more gateways to your deployment.
See How Multi-site Systems Work for additional information about multi-site deployments.
Deciding When to Use Multi-site Deployment
A wide-area network (WAN) is the main use case for the multi-site topology. The multi-site topology enables systems at disparate geographical locations to replicate DML operations for configured tables and provide a coherent view of the tables' data. It also ensures independence of the systems, so if any are lost from view, the remaining systems continue to operate.
The WAN model is generally deployed either for data visibility across multiple data centers, or as a mechanism for disaster recovery. Client applications can connect to the GemFire XD cluster in the local data center, but if visibility to the cluster is lost, then those clients can fail over to any other cluster that replicates data using a gateway.