Namespace Apache.Ignite.Core.Cluster
Classes
AttributeNodeFilter
Attribute node filter.
The filter will evaluate to true if a node has all specified attributes with corresponding values.
You can set node attributes using UserAttributes property.
ClusterGroupEmptyException
Indicates an illegal call on empty projection. Thrown by projection when operation that requires at least one node is called on empty projection.
ClusterTopologyException
Indicates an error with grid topology (e.g., crashed node, etc.)
Interfaces
IBaselineNode
Baseline topology node (see GetBaselineTopology()).
ICluster
Represents whole cluster (group of all nodes in a cluster).
All members are thread-safe and may be used concurrently from multiple threads.
IClusterGroup
Defines grid projection which represents a common functionality over a group of nodes. Grid projection allows to group Ignite nodes into various subgroups to perform distributed operations on them. All ForXXX(...)' methods will create a child grid projection from existing projection. If you create a new projection from current one, then the resulting projection will include a subset of nodes from current projection. The following code snippet shows how to create grid projections:
var g = Ignition.GetIgnite();
// Projection over remote nodes.
var remoteNodes = g.ForRemotes();
// Projection over random remote node.
var randomNode = g.ForRandom();
// Projection over all nodes with cache named "myCache" enabled.
var cacheNodes = g.ForCacheNodes("myCache");
// Projection over all nodes that have user attribute "group" set to value "worker".
var workerNodes = g.ForAttribute("group", "worker");
Grid projection provides functionality for executing tasks and closures over nodes in this projection using GetCompute().
All members are thread-safe and may be used concurrently from multiple threads.
IClusterMetrics
Represents runtime information of a cluster. Apart from obvious statistical value, this information is used for implementation of load balancing, failover, and collision SPIs. For example, collision SPI in combination with fail-over SPI could check if other nodes don't have any active or waiting jobs and fail-over some jobs to those nodes.
Node metrics for any node can be accessed via GetMetrics() method. Keep in mind that there will be a certain network delay (usually equal to heartbeat delay) for the accuracy of node metrics. However, when accessing metrics on local node the metrics are always accurate and up to date.
IClusterNode
Interface representing a single cluster node. Use GetAttribute<T>(String) or GetMetrics() to get static and dynamic information about remote nodes. You can get a list of all nodes in grid by calling GetNodes() on IIgnite instance.
You can use Ignite node attributes to provide static information about a node. This information is initialized once within grid, during node startup, and remains the same throughout the lifetime of a node.
All members are thread-safe and may be used concurrently from multiple threads.
IClusterNodeFilter
Represents cluster node filter.