After you set up Hibernate to work with the GemFire module, GemFire will run
automatically with preconfigured settings. Depending on your topology, you may want to
change these settings.
GemFire has these default settings:
- GemFire runs in a peer-to-peer
configuration, rather than a client/server configuration.
- GemFire processes are discovered using a
default multicast channel.
- GemFire "locators", which provide discovery
and load balancing services, are not used for member discovery.
- The cache region is replicated.
These settings might not reflect your preferred usage. To change these and other
settings, refer to this section.
The following flowchart illustrates some of the decisions you might consider before
making configuration changes. If the action says "no change req.", then no
configuration change is required to run GemFire in that mode. All other actions are
cross-referenced below the flowchart. For more information about the common GemFire
topologies, refer to Common GemFire Topologies. For general information on how
to make configuration changes, refer to Changing Pivotal GemFire Default Configuration (Hibernate Cache Module).
Common GemFire Topologies
Before configuring the module, you must consider which basic topology is suited for
your usage. The configuration process is slightly different for each topology.
Peer-to-Peer Configuration. In a peer-to-peer configuration, each GemFire
instance within a Hibernate JVM contains its own cache. It communicates with
other GemFire instances as peers (rather than clients and servers). Depending on
the way the GemFire data region is defined, data is either replicated across all
GemFire peers or it is partitioned so that each instance's cache contains a
portion of the entire data set. By default, data is replicated. A peer-to-peer
configuration is useful when multiple systems need fast access to all data. This
configuration is also the simplest one to set up and does not require any
external processes. By default, the GemFire module will operate in a
Client/Server Configuration. In a client/server configuration, the
Hibernate JVM operates as a GemFire client, which must communicate with one or
more GemFire servers to acquire data. A client/server configuration is useful
when you want to separate the Hibernate JVM from the cached data. In this
configuration, you can reduce the memory consumption of the Hibernate process
since data is stored in separate GemFire server processes. For instruction on
running GemFire in a client/server configuration, refer to Changing the GemFire Topology.