Apache Ignite

Service APIs

Deploy your microservices straight on the cluster nodes and
trigger execution from the application code
Distributed In-Memory Cache

Apache Ignite Service APIs Overview

With the services API, you can create and deploy arbitrary services on the cluster. For instance, you may want to implement custom counters, hierarchical maps, or anything that you treat as a microservice.

Use Contemporary Powerful Languages

Create scalable microservices in languages such as Java or C#

Java
 Ignite ignite = Ignition.start();

//get the services interface associated with all server nodes
IgniteServices services = ignite.services();

//start a node singleton
services.deployClusterSingleton("myCounterService", new MyCounterServiceImpl());

Services Deployment Modes

Deploy single or many instances of a service on the cluster

Cluster Singleton

The most commonly used feature is to deploy singleton services on the cluster.

There is only one instance of the service in the cluster, and Ignite guarantees
that the instance is always available.

In case the cluster node on which the service is deployed disconnects, Ignite automatically redeploys the instance to another node.

one-image
two-image

Node Singleton

You can specify your service as part of the node configuration and start
the service together with the node.

The service is started on each node of the cluster. If the service is a cluster singleton, it is started in the first cluster node, and is redeployed to one
of the other nodes if the first node terminates.

Benefits Of Apache Ignite Service APIs

Load balancing

In all cases, other than singleton service deployment, Ignite makes sure that 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.

Hot Redeployment

You can update the implementation of a service without stopping the cluster.

Use Ignite’s DeploymentSpi configuration to re-deploy services without restarting the cluster.