3 ms·
They rewrote in 2006. The JVM was not where it is today in 2006. You could always use Rust if bare-metal speed is important to you. But, as I'm sure tptacek wi
by pcwalton 7y ago
They rewrote in 2006. The JVM was not where it is today in 2006.
You could always use Rust if bare-metal speed is important to you. But, as I'm sure tptacek will point out (and which I agree with), Go or Java or most other high-performance memory safe languages would be perfectly reasonable as well.
- tptacek 7y agoWhat amazes me about this, and I'm prepared to be wrong but my confidence level is sort of high, is that you could implement most DNS servers, and, I believe, virtually any authority server in any language at all and it'd be fine. Forget Rust and Go; you could do it in Perl.
- throw0101a 7y ago* https://metacpan.org/pod/Net::DNSServer https://metacpan.org/pod/Net::DNSServer * https://metacpan.org/pod/Net::DNS::Nameserver https://metacpan.org/pod/Net::DNS::Nameserver
- colmmacc 7y agoI've contributed to unbound, and I wrote a lot of the DNS server that we use at Amazon. The main security risk in DNS is DDOS; it's by far the biggest concern and day to day pain, and a big part of a strategy for dealing with it having really high performance. 100s of thousands of QPS per core kind of performance. A lot of this boils down to using direct networking plumbing tricks and optimizing query handling into very fast flat memory lookups. A garbage collected language would be a terrible choice. C is still the most common solution, but if I were writing a DNS server today, I'd go with rust.
- tptacek 7y agoTo be clear, I don't think you could write Route53's DNS servers in Perl. It'd rather be my contention that most people running their own DNS servers don't need the kind of resilience that Route53 has (if they did, they'd be using Route53).