GridGain In-Memory Service Grid

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.

Features:

  • Automatically Deploy Multiple Instances of a Service
  • Automatically Deploy a Service as 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
A service can run on one node (cluster singleton) or be deployed on all nodes in the cluster (node singleton)
Examples:

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.
    @IgniteInstanceResource
    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 = ignite.services();
 
IgniteFuture<!--?--> fut = svcs.deployClusterSingleton("myClusterSingleton", new MyIgniteService());
 
// Wait for deployment to complete.
fut.get();
Top Learn More