Apache Ignite.NET
Apache.Ignite.Core.Services.IServices Interface Reference

Defines functionality to deploy distributed services in the Ignite. More...

Public Member Functions

void DeployClusterSingleton (string name, IService service)
 Deploys a cluster-wide singleton service. Ignite guarantees that there is always one instance of the service in the cluster. In case if Ignite node on which the service was deployed crashes or stops, Ignite will automatically redeploy it on another node. However, if the node on which the service is deployed remains in topology, then the service will always be deployed on that node only, regardless of topology changes. More...
 
Task DeployClusterSingletonAsync (string name, IService service)
 Deploys a cluster-wide singleton service. Ignite guarantees that there is always one instance of the service in the cluster. In case if Ignite node on which the service was deployed crashes or stops, Ignite will automatically redeploy it on another node. However, if the node on which the service is deployed remains in topology, then the service will always be deployed on that node only, regardless of topology changes. More...
 
void DeployNodeSingleton (string name, IService service)
 Deploys a per-node singleton service. Ignite guarantees that there is always one instance of the service running on each node. Whenever new nodes are started within the underlying cluster group, Ignite will automatically deploy one instance of the service on every new node. More...
 
Task DeployNodeSingletonAsync (string name, IService service)
 Deploys a per-node singleton service. Ignite guarantees that there is always one instance of the service running on each node. Whenever new nodes are started within the underlying cluster group, Ignite will automatically deploy one instance of the service on every new node. More...
 
void DeployKeyAffinitySingleton< TK > (string name, IService service, string cacheName, TK affinityKey)
 Deploys one instance of this service on the primary node for a given affinity key. Whenever topology changes and primary node assignment changes, Ignite will always make sure that the service is undeployed on the previous primary node and deployed on the new primary node. More...
 
Task DeployKeyAffinitySingletonAsync< TK > (string name, IService service, string cacheName, TK affinityKey)
 Deploys one instance of this service on the primary node for a given affinity key. Whenever topology changes and primary node assignment changes, Ignite will always make sure that the service is undeployed on the previous primary node and deployed on the new primary node. More...
 
void DeployMultiple (string name, IService service, int totalCount, int maxPerNodeCount)
 Deploys multiple instances of the service on the grid. Ignite will deploy a maximum amount of services equal to totalCount parameter making sure that there are no more than maxPerNodeCount service instances running on each node. Whenever topology changes, Ignite will automatically rebalance the deployed services within cluster to make sure that each node will end up with about equal number of deployed instances whenever possible. More...
 
Task DeployMultipleAsync (string name, IService service, int totalCount, int maxPerNodeCount)
 Deploys multiple instances of the service on the grid. Ignite will deploy a maximum amount of services equal to totalCount parameter making sure that there are no more than maxPerNodeCount service instances running on each node. Whenever topology changes, Ignite will automatically rebalance the deployed services within cluster to make sure that each node will end up with about equal number of deployed instances whenever possible. More...
 
void Deploy (ServiceConfiguration configuration)
 Deploys instances of the service in the Ignite according to provided configuration. More...
 
Task DeployAsync (ServiceConfiguration configuration)
 Deploys instances of the service in the Ignite according to provided configuration. More...
 
void Cancel (string name)
 Cancels service deployment. If a service with specified name was deployed on the grid, then IService.Cancel method will be called on it. Note that Ignite cannot guarantee that the service exits from IService.Execute method whenever IService.Cancel is called. It is up to the user to make sure that the service code properly reacts to cancellations. More...
 
Task CancelAsync (string name)
 Cancels service deployment. If a service with specified name was deployed on the grid, then IService.Cancel method will be called on it. Note that Ignite cannot guarantee that the service exits from IService.Execute method whenever IService.Cancel is called. It is up to the user to make sure that the service code properly reacts to cancellations. More...
 
void CancelAll ()
 Cancels all deployed services. Note that depending on user logic, it may still take extra time for a service to finish execution, even after it was cancelled. More...
 
Task CancelAllAsync ()
 Cancels all deployed services. Note that depending on user logic, it may still take extra time for a service to finish execution, even after it was cancelled. More...
 
ICollection< IServiceDescriptorGetServiceDescriptors ()
 Gets metadata about all deployed services. More...
 
GetService< T > (string name)
 Gets deployed service with specified name. More...
 
ICollection< T > GetServices< T > (string name)
 Gets all deployed services with specified name. More...
 
GetServiceProxy< T > (string name)
 Gets a remote handle on the service. If service is available locally, then local instance is returned, otherwise, a remote proxy is dynamically created and provided for the specified service. More...
 
GetServiceProxy< T > (string name, bool sticky)
 Gets a remote handle on the service. If service is available locally, then local instance is returned, otherwise, a remote proxy is dynamically created and provided for the specified service. More...
 
IServices WithKeepBinary ()
 Returns an instance with binary mode enabled. Service method results will be kept in binary form. More...
 
IServices WithServerKeepBinary ()
 Returns an instance with server-side binary mode enabled. Service method arguments will be kept in binary form. More...
 

Properties

IClusterGroup ClusterGroup [get]
 Gets the cluster group to which this instance belongs. More...
 

Detailed Description

Member Function Documentation

void Apache.Ignite.Core.Services.IServices.Cancel ( string  name)
Parameters
nameName of the service to cancel.
void Apache.Ignite.Core.Services.IServices.CancelAll ( )
Task Apache.Ignite.Core.Services.IServices.CancelAllAsync ( )
Task Apache.Ignite.Core.Services.IServices.CancelAsync ( string  name)
Parameters
nameName of the service to cancel.
void Apache.Ignite.Core.Services.IServices.Deploy ( ServiceConfiguration  configuration)
Parameters
configurationService configuration.
Task Apache.Ignite.Core.Services.IServices.DeployAsync ( ServiceConfiguration  configuration)
Parameters
configurationService configuration.
void Apache.Ignite.Core.Services.IServices.DeployClusterSingleton ( string  name,
IService  service 
)

Note that in case of topology changes, due to network delays, there may be a temporary situation when a singleton service instance will be active on more than one node (e.g. crash detection delay).

Parameters
nameService name.
serviceService instance.
Task Apache.Ignite.Core.Services.IServices.DeployClusterSingletonAsync ( string  name,
IService  service 
)

Note that in case of topology changes, due to network delays, there may be a temporary situation when a singleton service instance will be active on more than one node (e.g. crash detection delay).

Parameters
nameService name.
serviceService instance.
void Apache.Ignite.Core.Services.IServices.DeployKeyAffinitySingleton< TK > ( string  name,
IService  service,
string  cacheName,
TK  affinityKey 
)

Note that in case of topology changes, due to network delays, there may be a temporary situation when a service instance will be active on more than one node (e.g. crash detection delay).

Parameters
nameService name.
serviceService instance.
cacheNameName of the cache on which affinity for key should be calculated, null for default cache.
affinityKeyAffinity cache key.
Task Apache.Ignite.Core.Services.IServices.DeployKeyAffinitySingletonAsync< TK > ( string  name,
IService  service,
string  cacheName,
TK  affinityKey 
)

Note that in case of topology changes, due to network delays, there may be a temporary situation when a service instance will be active on more than one node (e.g. crash detection delay).

Parameters
nameService name.
serviceService instance.
cacheNameName of the cache on which affinity for key should be calculated, null for default cache.
affinityKeyAffinity cache key.
void Apache.Ignite.Core.Services.IServices.DeployMultiple ( string  name,
IService  service,
int  totalCount,
int  maxPerNodeCount 
)
Parameters
nameService name.
serviceService instance.
totalCountMaximum number of deployed services in the grid, 0 for unlimited.
maxPerNodeCountMaximum number of deployed services on each node, 0 for unlimited.
Task Apache.Ignite.Core.Services.IServices.DeployMultipleAsync ( string  name,
IService  service,
int  totalCount,
int  maxPerNodeCount 
)
Parameters
nameService name.
serviceService instance.
totalCountMaximum number of deployed services in the grid, 0 for unlimited.
maxPerNodeCountMaximum number of deployed services on each node, 0 for unlimited.
void Apache.Ignite.Core.Services.IServices.DeployNodeSingleton ( string  name,
IService  service 
)
Parameters
nameService name.
serviceService instance.
Task Apache.Ignite.Core.Services.IServices.DeployNodeSingletonAsync ( string  name,
IService  service 
)
Parameters
nameService name.
serviceService instance.
T Apache.Ignite.Core.Services.IServices.GetService< T > ( string  name)
Template Parameters
TService type.
Parameters
nameService name.
Returns
Deployed service with specified name.
ICollection<IServiceDescriptor> Apache.Ignite.Core.Services.IServices.GetServiceDescriptors ( )
Returns
Metadata about all deployed services.
T Apache.Ignite.Core.Services.IServices.GetServiceProxy< T > ( string  name)
Template Parameters
TService type.
Parameters
nameService name.
Returns
Either proxy over remote service or local service if it is deployed locally.
Type Constraints
T :class 
T Apache.Ignite.Core.Services.IServices.GetServiceProxy< T > ( string  name,
bool  sticky 
)
Template Parameters
TService type.
Parameters
nameService name.
stickyWhether or not Ignite should always contact the same remote service or try to load-balance between services.
Returns
Either proxy over remote service or local service if it is deployed locally.
Type Constraints
T :class 
ICollection<T> Apache.Ignite.Core.Services.IServices.GetServices< T > ( string  name)
Template Parameters
TService type.
Parameters
nameService name.
Returns
All deployed services with specified name.
IServices Apache.Ignite.Core.Services.IServices.WithKeepBinary ( )
Returns
Instance with binary mode enabled.
IServices Apache.Ignite.Core.Services.IServices.WithServerKeepBinary ( )
Returns
Instance with server-side binary mode enabled.

Property Documentation

IClusterGroup Apache.Ignite.Core.Services.IServices.ClusterGroup
get

The cluster group to which this instance belongs.