A une certaine époque, je m’occupais d’un Registrar français (non, ce n’est pas gandi et encore moins OVH ;-).
Pour mes besoins, je devais interfacer tout le NOC à une seule et même base de donnée: le site web, le DNS (Bind), le serveur de mail (Postfix), les VirtualHosts (Apache), les redirecteurs transparents (Apache+Mod_Proxy) et le Whoisd (codé par himself),
En gros, je ne voulais pas à me prendre la tête: si un domaine expirait (ou pas), les requètes SQL – implementées dans les différentes configurations – devaient suffire à gérer les différents services: soit à produire un résultat viable, soit à rejeter la demande, tout ceci en direct bien entendu. (pas de couche d’abstraction entre les applis, comme un soft-crontabisé générant le fichier de config Bind ou Apache)
.
Pour le DNS, je me suis basé sur un patch existant : Bind-DLZ.
Bind-DLZ permettait des interconnexions vers les différentes grandes bases de donnéees OpenSource: MySQL, PostgreSQL, (Open)LDAP ou non-free avec ODBC.
Un pur bonheur…. oui, enfin pas tout à fait, j’avais quelques petits problèmes de performance au niveau du DNS lors des « queries » classiques.
Même la plus belle des requètes n’aurait pas pu régler ce problème: il fallait se rendre à l’évidence: j’avais besoin de « tags » supplémentaires dans la configuration de Bind patché avec DLZ.
Après quelques minutes/heures, j’ai produit une serie de patch pour les différents « drivers » Bind-DLZ pour l’ajout de deux tags: le « zone_tld » tag et le « zone_domain » tag.
Le « zone_tld » s’occupait des gTLD comme .com, .net, .org, etc…
Le « zone_domain », lui, s’occupait de la partie « nom » du domaine: « sherpadown« , « google« , etc… par exemple.
Après test et mise en production, les latences ont disparus.
Les différents patchs et packages :
Bind DLZ – Patchs Extended-Tags
Unofficial Debian packages for Bind DLZ + Patch Extended-Tags






