Start coding with Ignite Service APIsPerforming Service APIs
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());
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.
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.
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.
Ignite always guarantees that services are continuously available, and are deployed according to the specified configuration, regardless of any topology changes or node crashes.
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.