feat: 3-layer data validation cache — local ROA store, PDB cache, RIPE Stat throttling
- Phase 1: Parse ~400k ROAs from Cloudflare RPKI feed into local store Eliminates ALL per-prefix RIPE Stat API calls (was 2000+ per lookup) Binary search validation in <0.1ms instead of 1-20s HTTP roundtrip Disk persistence (.roa-cache.json) for fast restart - Phase 2: PeeringDB source cache (L2) for net/netixlan/netfac 6h TTL with LRU eviction (max 5000 entries per type) Disk persistence (.pdb-source-cache.json) every 30min + SIGTERM - Phase 3: RIPE Stat semaphore (max 10 concurrent) + response cache Endpoint-specific TTLs (15min-24h based on change rate) Max 2000 cached responses, disk persistence - Phase 4: Extended /api/health with cache status, ASPA adoption metrics Version bump to 0.6.0 Jittered refresh timers to prevent thundering herd Graceful shutdown saves all caches Expected: Audit accuracy 82% -> 95%+, lookup time 90s -> <8s
This commit is contained in:
parent
08e9b8d962
commit
df2e176b35