Advanced Configuration (Hibernate Cache Module)

Advanced Configuration (Hibernate Cache Module)

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.

Configuration Flowchart

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 GemFire's Default Configuration".

Common GemFire Topologies

Before configuring the GemFire module, you must consider which basic topology is suited for your usage. The configuration process is slightly different for each topology. For general information about GemFire topologies, refer to Topologies and Communication.

  • 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 peer-to-peer configuration.

  • 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.