High‑performance in‑memory HTTP cache & reverse proxy for latency‑sensitive workloads.
Built in Go with sharded storage, TinyLFU admission, background refresh, upstream controls, and observability.
About Me
I’m Borislav Glazunov, 29 y.o., senior/lead developer (Golang, Rust, PHP).
Open to visa sponsorship in New Zealand, Australia, Canada, EU, and Cyprus.
About the Project
advCache — open‑source (Apache‑2.0) in‑memory HTTP cache & reverse proxy.
Throughput
160–170k RPS locally; ~250k RPS on 24‑core bare‑metal (50GB cache).
Memory
1.5–3GB overhead at 50GB (no traces); ~7GB at 100% OTEL sampling.
Hot Path
Zero allocations, sharded counters, per‑shard LRU, TinyLFU admission.
Control Plane
Runtime toggles: admission, eviction, refresh, compression, observability.
Observability
Prometheus/VictoriaMetrics + OpenTelemetry tracing.
Kubernetes
Health probes, ConfigMap config, Docker image.
Quickstart (Starter Config)
cache: api: port: '8020' # <-- CHANGEME upstream: backend: addr: http://127.0.0.1:8081 # <-- CHANGEME origin compression: enabled: true observability: enabled: true endpoint: 127.0.0.1:4318 # <-- CHANGEME OTEL Collector admission: enabled: trueSee the full configuration in the repo README.
Runtime Endpoints
- Main: GET /{any:*}
- Health: GET /k8s/probe
- Metrics: GET /metrics
- Bypass: /cache/bypass, /on, /off
- Compression: /cache/http/compression, /on, /off
- Config: /cache/config
- Entry: /cache/entry?key=<uint64>
- Clear: /cache/clear → ?token=
- Invalidate: /cache/invalidate
- Upstream: /cache/upstream/policy, /await, /deny
- Evictor: /cache/eviction, /on, /off, /scale
- Lifetime: /cache/lifetime-manager, /on, /off
- GC: /cache/force-gc, /on, /off, /call
- Admission: /cache/admission, /on, /off
- Tracing: /cache/observability, /on, /off
Open Source & Modular
Apache‑2.0 license. Contributions welcome.
.png)

