Re: Fw: bind-dlz

Michael Schout <[email protected]>
Newsgroups gmane.network.dns.bind9.dlz
Message-ID <[email protected]>
Graham Weldon wrote:
> I'd be interested in hearing how you set it up, and more importantly how
> this was scaled across various servers etc.

Here's another example.

Our system is set up with BDBHPT, replicated from a postgresql database.

In the postgresql database, there is basically a "dns data journal" 
table that logs changes to zones, and dns records (added, deleted, 
updated).  Whenver someone adds/updates/deletes a dns record or zone 
record, an entry is automatically created in this journal table via 
PL/pgSQL triggers.

Each dns server runs bind+dlz, and uses the BDBHPT driver.  A small C++ 
daemon runs on each dns node that waits for data to show up in the 
"journal" table in the master db.  If you are familiar with postgresql, 
this is done using the LISTEN/NOTIFY mechanism.  The C++ daemon runs 
LISTEN, and the PL/pgSQL triggers in the master DB automatically do a 
NOTIFY when data is added to the "journal" table.  You could accomplish 
the same thing by actively "polling" the journal table, but the 
LISTEN/NOTIFY mechanism is the most efficient way to do it if available. 
  The triggers are very simple to write.  Sorry, but my client has not 
given me permission to release the source code so I can not  paste it 
for you :).

The C++ daemon simply updates data as it appears in the journal table 
into the local BDB database.  The C++ code is quite short (around 1500 
lines total).  Obviously the C++ part could be done in another language.

It works very well, scales incredibly, and consumes very little 
resources.  If you need to handle more dns traffic, its simply a matter 
of adding another bind server frontend.

Regards,
Michael Schout

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.