EndpointDNS

Tech Stack: PHP, MySQL, Go

EndpointDNS

EndpointDNS is a developer-focused DNS hosting service built on a modern, distributed architecture. It uses an API-centric model where a central controller communicates with multiple remote name servers to manage and serve DNS records, ensuring high availability and efficient synchronization.

💡 Since my domain is hosted at Namecheap, I needed to configure glue records for the custom name servers so they could be properly resolved.


System Architecture

The platform is divided into two main parts:

The actual DNS queries are handled by multiple, geographically distributed name servers, also written in Go.


The Controller: Central Authority

The controller is the brain of the EndpointDNS system. It is the single source of truth, responsible for managing the state of the entire network.


Remote Name Servers: Edge Responders

The name servers are lightweight Go applications designed to answer DNS queries with maximum speed.


Communication & Synchronization

The system is entirely API-driven:

  1. User Request
    A user creates a DNS record via the PHP panel → forwarded to the Go controller.

  2. Controller Validation
    The request is authenticated and checked against plan limits.

  3. Database Update
    The record is saved to the central MySQL database.

  4. Fan-Out Sync
    The controller sends updates concurrently to all active name servers.

  5. Name Server Update
    Each server updates its in-memory zone and persists it to disk.


Full Sync for Consistency

When bringing a new server online or performing maintenance:

This ensures that the central database remains the ultimate source of truth, while distributed name servers provide fast, resilient, and globally consistent DNS resolution.

Like What You See?

I'm available for similar projects. Let's discuss how I can help you achieve your goals.

View My Services