Apache Ignite Documentation

GridGain Developer Hub - Apache Ignitetm

Welcome to the Apache Ignite developer hub run by GridGain. Here you'll find comprehensive guides and documentation to help you start working with Apache Ignite as quickly as possible, as well as support if you get stuck.


GridGain also provides Community Edition which is a distribution of Apache Ignite made available by GridGain. It is the fastest and easiest way to get started with Apache Ignite. The Community Edition is generally more stable than the Apache Ignite release available from the Apache Ignite website and may contain extra bug fixes and features that have not made it yet into the release on the Apache website.


Let's jump right in!


Documentation     Ask a Question     Download


Javadoc     Scaladoc     Examples

Service Grid

Cluster-enable any service or data structure.

Service Grid allows for deployments of arbitrary user-defined services on the cluster. You can implement and deploy any service, such as custom counters, ID generators, hierarchical maps, etc.

Ignite allows you to control how many instances of your service should be deployed on each cluster node and will automatically ensure proper deployment and fault tolerance of all the services .


  • Continuous availability of deployed services regardless of topology changes or crashes.
  • Automatically deploy any number of distributed service instances in the cluster.
  • Automatically deploy singletons, including cluster-singleton, node-singleton, or key-affinity-singleton.
  • Automatically deploy distributed services on node start-up by specifying them in the configuration.
  • Undeploy any of the deployed services.
  • Get information about service deployment topology within the cluster.
  • Create service proxy for accessing remotely deployed distributed services.


Please refer to Service Example for information on service deployment and accessing service API.


All service grid functionality is available via IgniteServices interface.

Ignite ignite = Ignition.ignite();

// Get services instance spanning all nodes in the cluster.
IgniteServices svcs = ignite.services();

You can also limit the scope of service deployment to a Cluster Group. In this case, services will only span the nodes within the cluster group.

Ignite ignite = Ignitition.ignite();

ClusterGroup remoteGroup = ignite.cluster().forRemotes();

// Limit service deployment only to remote nodes (exclude the local node).
IgniteServices svcs = ignite.services(remoteGroup);

Load Balancing

In all cases, other than singleton service deployment, Ignite will automatically make sure that about an equal number of services are deployed on each node within the cluster. Whenever cluster topology changes, Ignite will re-evaluate service deployments and may re-deploy an already deployed service on another node for better load balancing.

Fault Tolerance

Ignite always guarantees that services are continuously available, and are deployed according to the specified configuration, regardless of any topology changes or node crashes.

Updated less than a minute ago

Service Grid

Cluster-enable any service or data structure.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.