You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ClusterActor (one per node) — Manages membership and topology. Detects peer failures, disseminates membership
changes. Notifies ShardManagerActor when topology changes. Spawns/stops PeerActors as nodes join/leave. Publishes
topology snapshot for ConnectionActors.
PeerActor (one per remote node) — Manages the outbound connection to a remote node. Shared by ShardActors and
ConnectionActors for all communication with that node.
ShardActor (one per shard per node) — Manages a metadata shard. Replicated across multiple nodes — one leader, rest
followers. Stores metadata for topics, ranges, and segments. Leader issues commands to data-plane nodes. Communicates
with remote replicas via PeerActors.
ShardManagerActor (one per node) — Manages shard lifecycle on this node. Spawns ShardActors when this node becomes
responsible for a shard, stops them when it's no longer responsible.
ConnectionActor (one per client) — Manages an inbound client connection. Resolves which broker owns the requested
resource, handles locally or forwards via PeerActor.
Sharding Keys
Topic metadata → hash(TopicName)
Range + Segment metadata → hash(RangeId)
Ranges and their segments share the same sharding key so that atomic operations stay within a single shard. Topics are
sharded separately to avoid hotspots.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
EastGuard Implementation Ideas
Actors
ClusterActor (one per node) — Manages membership and topology. Detects peer failures, disseminates membership
changes. Notifies ShardManagerActor when topology changes. Spawns/stops PeerActors as nodes join/leave. Publishes
topology snapshot for ConnectionActors.
PeerActor (one per remote node) — Manages the outbound connection to a remote node. Shared by ShardActors and
ConnectionActors for all communication with that node.
ShardActor (one per shard per node) — Manages a metadata shard. Replicated across multiple nodes — one leader, rest
followers. Stores metadata for topics, ranges, and segments. Leader issues commands to data-plane nodes. Communicates
with remote replicas via PeerActors.
ShardManagerActor (one per node) — Manages shard lifecycle on this node. Spawns ShardActors when this node becomes
responsible for a shard, stops them when it's no longer responsible.
ConnectionActor (one per client) — Manages an inbound client connection. Resolves which broker owns the requested
resource, handles locally or forwards via PeerActor.
Sharding Keys
hash(TopicName)hash(RangeId)Ranges and their segments share the same sharding key so that atomic operations stay within a single shard. Topics are
sharded separately to avoid hotspots.
Diagram (single node)
Diagram (cluster)
All reactions