VesperNet History,
section VesperNet
Technology
Without giving too much away, I can tell you that the DNS Server is written in Python, it stores the zones as documents in a MongoDB collection - and to prevent too much back and forth between the DNS server and database server, I made sure to use Redis to cache zone data and in-memory response cache that honors TTL.
The DNS server is also able to tend to itself, it does automatic garbage collection, ensures that calls are legitimate, keeps track of malformed queries and even protects itself from bots / scanners and a variety of attacks.
Master / Slave
Since there is very little traffic (and I am constantly pushing the DNS server), there is no need for a slave server at this time. There is a toggle in the configuration for whichever mode the server should operate in. A slave server always gets its data from the configured Master server, however additional slaves can be configured to fetch data from "master slaves".
The concept is fairly easy, but the requirements are the same for slave servers, a MongoDB server (or flatfile - CBOR / JSON) and/or Redis (local, remote, or none - not recommended). Even though the server is very performant without a Redis server for zone caching since we also have response cache available which honors TTL.
Zone Documents They are what you would expect a zone document to look like. A fresh / new zone document contains the necessary data as well as a SOA record and nothing else.
Next subsection: Domain Registrar