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.
- Cluster
Ids - A free variable that resolves to the list of member IDs in a cluster at runtime.
- Cluster
Self Id - The concrete type behind
CLUSTER_SELF_ID.
Enums§
- Eventual
Consistency - 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
Clusterlocations, providing access to the cluster tag type.