Files
git.stella-ops.org/docs/features/unchecked/router/region-aware-routing-algorithm.md

1.6 KiB

Region-Aware Routing Algorithm

Module

Router

Status

IMPLEMENTED

Description

Full routing algorithm with 3-tier region preference (Tier 0: same region, Tier 1: same continent, Tier 2: cross-continent), ping-based latency selection within tiers, heartbeat recency weighting, and round-robin/random tie-breaking for deterministic load distribution.

Implementation Details

  • Modules: src/Router/__Libraries/StellaOps.Router.Gateway/Routing/, src/Router/__Libraries/StellaOps.Router.Gateway/Services/
  • Key Classes:
    • DefaultRoutingPlugin (src/Router/__Libraries/StellaOps.Router.Gateway/Routing/DefaultRoutingPlugin.cs) - implements 3-tier region preference with latency-based selection
    • PingTracker (src/Router/__Libraries/StellaOps.Router.Gateway/Services/PingTracker.cs) - tracks ping-based latency measurements per instance
    • InMemoryRoutingState (src/Router/__Libraries/StellaOps.Router.Gateway/State/InMemoryRoutingState.cs) - routing state with instance region metadata
  • Interfaces: IRoutingPlugin, IGlobalRoutingState, IRegionProvider
  • Source: batch_51/file_24.md

E2E Test Plan

  • Register instances in the same region, same continent, and cross-continent, then route a request and verify Tier 0 preference
  • Verify latency-based selection: within the same tier, confirm the lowest-latency instance is preferred
  • Verify heartbeat recency weighting: stale instances are deprioritized
  • Verify round-robin tie-breaking: when latency is equal, confirm requests distribute evenly
  • Remove all Tier 0 instances and verify fallback to Tier 1, then Tier 2