Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Roadmap

Foundation

  • Candidate, status, weight, selection, and policy contracts.
  • Round robin, random, weighted random, least loaded, P2C, and rendezvous.
  • Deterministic tests, generated policy invariants, and rustdoc examples.
  • Criterion benchmarks and recorded baselines for poise-core selection and membership-change cost. Dispatch, health, and discovery remain unmeasured.
  • Naming, licensing, security policy, MSRV policy, and governance before publication.

Dynamic systems

  • Immutable versioned snapshots with keyed backend identity.
  • Atomic snapshot publication and graceful draining.
  • Smooth weighted round robin with identity-keyed state migration.
  • Load trackers for in-flight requests and peak-EWMA latency.
  • Rolling success-rate and overload penalties.
  • Passive health and circuit breaking with bounded recovery probes.
  • Executor-neutral active probe scheduling with threshold transitions.
  • Group-relative success-rate outlier detection with safety caps.

Ecosystem integration

  • Tower adapter with retained readiness, load tracking, and cancellation.
  • Transactional static snapshot-to-Tower reconciliation.
  • Runtime-neutral coalescing snapshot streams and Tower reconciliation.
  • Optional Tokio active-health and discovery conveniences without making Tokio a core dependency.
  • tracing spans and metrics with bounded-cardinality defaults.

Advanced policies

  • Weighted rendezvous with proportional capacity and minimal reweight churn.
  • Bounded weighted virtual-node ring hash with transactional rebuilds.
  • Prime-sized, transactionally rebuilt Maglev lookup tables.
  • Weighted rendezvous affinity with prospective concurrent-load bounds.
  • Weighted priority tiers, overprovisioned failover, and panic thresholds.
  • Health-adjusted locality weighting and cross-locality spillover.
  • Retry and hedge selection that excludes already-attempted backends.
  • Adaptive concurrency and capacity-aware routing.

Verification bar

Every stable policy should have:

  • unit, property, and deterministic replay tests;
  • distribution and disruption tests where applicable;
  • criterion benchmarks across small and large backend sets;
  • documented time, memory, and allocation complexity;
  • behavior documented for empty sets, ineligible sets, ties, overflow, membership churn, and seeded randomness;
  • comparison against a reference implementation, where the shipped code is optimised away from its specification. Cached and scratch-retaining policies are compared against a policy with no history; for a policy whose implementation is its specification, a reference would be a copy and is not required.