Skip to content

Instantly share code, notes, and snippets.

@vavrusa
Created May 26, 2015 13:53
Show Gist options
  • Save vavrusa/3e13267dcc9c4f0ded62 to your computer and use it in GitHub Desktop.
Save vavrusa/3e13267dcc9c4f0ded62 to your computer and use it in GitHub Desktop.
dnsdist-ideas
Near-stretch ideas
------------------
* I *quite* like how it's built, but it's too much *PowerDNS*-y, hacking on it is a pain (if you work on cheap virtuals like me) because of long build times and dependencies (I know, but try it yourself on the budget DigitalOcean droplet...), I'd say lose the legacy and make it really a standalone thing.
* The configuration is sometimes confusing, like if I set it up to listen on local interfaces, it happily does so but it silently drops all queries because the ACL allows localhost only (uhm, maybe it needs to say something in verbose mode or documentation update).
* The config format for IPv6 has a poor choice of ':' as a separator, it's not possible to forward to IPv6 address on a custom port.
Far-stretch ideas
-----------------
If we accept that sockets don't scale well with more threads thrown at it, we could focus on building good single-threaded applications and let other applications worry about scaling. That could be dnsdist if it could leverage DPDK or netmap and distribute the queries (UNIX sockets, classic stuff, some ring buffers in shared memory and notifications) to the CPU-bound applications.
TL;DR I would love to have a *dnsdist*-like software, that could efficiently distribute queries on a single machine. DNS servers could focus on doing DNS well, and this on scaling.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment