DNS Infrastructure & Naming Conventions
How Rust and Wasm power Cloudflare's 1.1.1.1

How Rust and Wasm power Cloudflare's 1.1.1.1

2/28/2023 · Anbang Wen, Marek Vavruša

What this post added

This post details the development of BigPineapple, a new Rust-based recursive DNS resolver for Cloudflare's 1.1.1.1 service, replacing the previous Knot Resolver. It addresses limitations in Knot Resolver's Lua plugin system, I/O blocking, cache efficiency, and module isolation. BigPineapple utilizes Rust's async runtime (tokio) for non-blocking I/O and work-stealing, a redesigned module system for better isolation, and a component-based architecture (server, worker, cache, recursor, conductor, sandbox) for improved performance and maintainability. Key improvements include an updated I/O architecture with a "frame" abstraction for unified protocol handling and a conductor component for intelligent upstream nameserver selection and connection management.

Read the original post ↗