Erlang for Authoritative DNS
summary
Reimplemented an authoritative DNS backend for DNSimple in Erlang, leveraging the binary bit syntax, pattern matching and OTP processes to build an in-memory zone store, packet cache (60s TTL) and a worker queue handoff. Replaced PowerDNS backend and offloaded zone loading to Go for faster text parsing. Measured 99th‑percentile handoff latency of 35–60 microseconds, one node serving 17–25k requests per second, and a 40‑node anycast capacity of roughly 650k–1M qps; startup time and GC remain operational challenges.
AI-written summary · about
chapters (20)
- 0:00Erlang for Authoritative DNS Anthony Eden Founder of DNSimple
- 4:00Benefits of Erlang
- 4:33Binary Bit Syntax
- 6:12Pattern Matching
- 8:26Processes and OTP
- 8:47Spawn- Init - Receive - Exit
- 9:32Packet Cache
- 15:38Thinking in Erlang
- 16:32Operations
- 17:33Working around what Erlang isn't good at
- 18:43Identify Bottlenecks
- 20:19Optimize sequential paths
- 21:15Reduce garbage collection
- 21:38Packet read loop
- 25:53Process pool
- 26:21In-memory cache of zone data
- 27:03Remote zone loading from a special purpose server
- 28:05Current Performance Metrics
- 28:33SO_REUSEPORT
- 29:43Command & Control
related talks
16mIceberg: Automated Verification of DNS Authoritative Engines via Just-in-Time...
01h 27mDNS at 30
34mUsing DNS as a layer of defense
28mDarwin & Protocols
10mAvoiding DNS Pain
05mKeynote: CoreDNS Project Update
09mDNS is the entry point for every application on the internet
16mSCALE: Automatically Finding RFC Compliance Bugs in DNS Nameservers
