[id="assembly-setting-up-crossdc"] :context: xsite = Setting up cross-site with {jdgserver_name} {jdgserver_version_latest} [role="_abstract"] Use the following procedures for {jdgserver_name} {jdgserver_version_latest} to perform a basic setup of cross-site replication. This example for {jdgserver_name} {jdgserver_version_latest} involves two data centers, `site1` and `site2`. Each data center consists of 1 {jdgserver_name} server and 2 {project_name} servers. We will end up with 2 {jdgserver_name} servers and 4 {project_name} servers in total. * `Site1` consists of {jdgserver_name} server, `server1`, and 2 {project_name} servers, `node11` and `node12` . * `Site2` consists of {jdgserver_name} server, `server2`, and 2 {project_name} servers, `node21` and `node22` . * {jdgserver_name} servers `server1` and `server2` are connected to each other through the RELAY2 protocol and `backup` based {jdgserver_name} caches in a similar way as described in the link:{jdgserver_crossdcdocs_link}[{jdgserver_name} documentation]. * {project_name} servers `node11` and `node12` form a cluster with each other, but they do not communicate directly with any server in `site2`. They communicate with the Infinispan server `server1` using the Hot Rod protocol (Remote cache). See <> for more information. * The same details apply for `node21` and `node22`. They cluster with each other and communicate only with `server2` server using the Hot Rod protocol. Our example setup assumes that the four {project_name} servers talk to the same database. In production, we recommend that you use separate synchronously replicated databases across data centers as described in <>. include::proc-setting-up-infinispan.adoc[leveloffset=4] include::proc-configuring-infinispan.adoc[leveloffset=4] include::proc-creating-infinispan-caches.adoc[leveloffset=4] include::proc-configuring-remote-cache.adoc[leveloffset=4]