The Service Grid Provides Complete Control Over Services Deployed on Your Cluster

The GridGain® In-Memory Service Grid provides you with complete control over services being deployed on the cluster. The GridGain Service Grid feature allows you to control how many instances of your service should be deployed on each cluster node, ensuring proper deployment and fault tolerance. A service can be deployed on a single node in the cluster (cluster singleton) or on all the nodes in the cluster (node singleton). The Service Grid feature guarantees continuous availability of all deployed services in case of node failures.

A service can run on one node (cluster singleton) or be deployed on all nodes in the cluster (node singleton)
  • Automatically Deploy Multiple Instances of a Service
  • Automatically Deploy a Service as a Singleton
  • Automatically Deploy Services on Node Start-Up
  • Fault Tolerant Deployment
  • Un-Deploy Any of the Deployed Services
  • Get Service Deployment Topology Information
  • Access Remotely Deployed Service via Service Proxy

An example of how a distributed service may be implemented

// Simple service implementation.
public class MyIgniteService implements Service {
    // Example of ignite resource injection. All resources are optional.
    // You should inject resources only as needed.
    private Ignite ignite;
    @Override public void cancel(ServiceContext ctx) {
        // No-op.
    @Override public void execute(ServiceContext ctx) {
        // Loop until service is cancelled.
        while (!ctx.isCancelled()) {
            // Do something.

and deployed.

Ignite ignite = Ignition.ignite();
IgniteServices svcs =;
IgniteFuture<!--?--> fut = svcs.deployClusterSingleton("myClusterSingleton", new MyIgniteService());
// Wait for deployment to complete.