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.

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§

IsCluster
Marker trait implemented by Cluster locations, providing access to the cluster tag type.