Servers, Peer Clients, and Server Groups

A GemFire XD server is a process that hosts data and is a member of a peer-to-peer distributed system. GemFire XD servers run in Java Virtual Machines (JVMs).

You start a GemFire XD server using the gfxd tool from a command prompt or terminal window. gfxd launches servers as standalone processes that are akin to database servers. The servers can accept TCP connections from thin clients, authenticate credentials, manage sessions, delegate work to a thread pool for SQL processing, and so forth.

A peer client, also known as an embedded client, is a GemFire XD-aware JDBC client that connects to the distributed system using the JDBC peer driver. Peer clients are always connected to the distributed system, and they have single-hop access to data. A peer client can be configured as a pure client (referred to as an accessor member) or as a client that also hosts data (a data store).

Both JDBC peer client processes and server processes are peer members of the distributed system. The members discover each other dynamically through a built-in multicast based discovery mechanism or by using a locator service when TCP discovery is more desirable.

Note: In addition to peer client members that participate in a cluster, GemFire XD servers support thin client connections from JDBC and ODBC thin client drivers. See Developing Java Clients and Peers and Using ODBC Driver Functions in Client Applications.

GemFire XD servers and peer clients that host data (when the host-data property is set to true) are automatically part of the default server group. A server group is a logical grouping of GemFire XD server and peer client members that defines the data stores that should host data for table. When any GemFire XD object is created, such as a table, in the CREATE TABLE statement you can specify the server group name where the table will be hosted. If no group is specified, the table is hosted in the default server group. Using Server Groups to Manage Data Distribution provides additional information.