Overview
Explore the advantages of using Erlang for implementing an authoritative DNS server in this 41-minute conference talk from Strange Loop 2013. Discover why Erlang was chosen for developing a new authoritative DNS server at DNSimple, and learn about the language features that proved beneficial during the development process. Gain insights into overcoming specific performance bottlenecks and challenges faced during the project. Delve into topics such as binary bit syntax, pattern matching, processes and OTP, packet caching, and thinking in Erlang. Examine strategies for working around Erlang's limitations, optimizing sequential paths, reducing garbage collection, and implementing process pools. Learn about current performance metrics and the use of SO_REUSEPORT for improved efficiency. This talk by Anthony Eden, founder of DNSimple, offers valuable lessons for developers interested in DNS server implementation and Erlang programming.
Syllabus
Erlang for Authoritative DNS Anthony Eden Founder of DNSimple
Benefits of Erlang
Binary Bit Syntax
Pattern Matching
Processes and OTP
Spawn- Init - Receive - Exit
Packet Cache
Thinking in Erlang
Operations
Working around what Erlang isn't good at
Identify Bottlenecks
Optimize sequential paths
Reduce garbage collection
Packet read loop
Process pool
In-memory cache of zone data
Remote zone loading from a special purpose server
Current Performance Metrics
SO_REUSEPORT
Command & Control
Taught by
Strange Loop Conference