B.net Index | Server 2 [updated]
Here’s a feature proposal / concept for a fictional or speculative enhancement to B.net Index Server 2 — written as if for a developer or sysadmin audience.
Feature Name: Adaptive Query Routing & Real-Time Index Health Awareness (Internal codename: “AQR – Sentinel Mode”) Overview The B.net Index Server 2 (BI2) currently handles distributed index lookups across Battle.net services (profiles, match history, social graphs, game states). This feature adds adaptive query routing that dynamically shifts traffic based on real-time index health, node latency, and partial index availability — without dropping requests or returning stale data. Problem it solves
Index nodes occasionally lag due to write spikes (event streams, match reporting). Some nodes return partial data (e.g., missing recent matches) while others are fully consistent. Current static routing causes tail latency spikes and inconsistent query results.
Key capabilities 1. Health & Consistency Probes B.net Index Server 2
Every BI2 node runs lightweight probe queries every 500ms. Probes measure:
Index lag (in changesets) Query p95 latency Availability of recent time partitions (last 1h, 6h, 24h)
Results published to a small in-memory routing table shared via gossip. Here’s a feature proposal / concept for a
2. Dynamic Shard Scoring
Each index shard gets a routing score : score = (base_weight) * (1 / (1 + lag_factor)) * (1 / (1 + latency_factor))
If a shard’s lag exceeds 30s → score decays rapidly, query traffic shifts to healthier replicas. Problem it solves Index nodes occasionally lag due
3. Partial Result Awareness
Queries specify consistency needs: