Skip to main content

Module cluster

Module cluster 

Source
Expand description

Definitions for clusters, which represent a group of identical processes.

A Cluster is a multi-node location in the Hydro distributed programming model. Unlike a super::Process, which maps to a single machine, a cluster represents a dynamically-sized set of machines that all run the same code. Each member of the cluster is assigned a unique super::MemberId that can be used to address it.

Clusters are useful for parallelism, replication, and sharding patterns. Data can be broadcast to all members, sent to a specific member by ID, or scattered across members.

Structs§

Cluster
A multi-node location representing a group of identical processes.
ClusterIds
A free variable that resolves to the list of member IDs in a cluster at runtime.
ClusterSelfId
The concrete type behind CLUSTER_SELF_ID.

Enums§

EventualConsistency
Eventual consistency is guaranteed across cluster members, which means that at steady-state the live collection will always resolve to the same value across all members of the cluster.
NoConsistency
No consistency is guaranteed across cluster members, which means that the live collection may take on arbitrarily different values across members.

Statics§

CLUSTER_SELF_ID
A free variable representing the cluster’s own ID. When spliced in a quoted snippet that will run on a cluster, this turns into a MemberId.

Traits§

Consistency
A marker trait for levels of consistency that can be guaranteed for a live collection placed across members of a cluster.
IsCluster
Marker trait implemented by Cluster locations, providing access to the cluster tag type.